Страница: 1 |
Программа пользуется несколькими OCX. У меня всё работает. При создании программы я указал путь C:\Program Files\Папкпа программы. Если программа находится в любой другой папке она не работает - пишет, что нету OCX. Вопрос: как сделать так, чтобы путь к OCX получался через App.Path???
У себя проверил - всё пашет. Как это сделать автоматом??? А чего, инсталлятор не поможет? А без него можно??? to Boevik не мог ты объяснить мне, почему в некоторые игры я не могу послать нажатие кнопки на клавиатуре. Выглядит это так: Private Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte, ByVal bScan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long) Private Declare Function GetAsyncKeyState Lib "user32" (ByVal vKey As Long) As Integer Const KEYEVENTF_KEYUP = &H2 Public Sub KnopkI() Call keybd_event(vbKeyP, 0, 0, 0) Call keybd_event(vbKeyP, 0, KEYEVENTF_KEYUP, 0) Call keybd_event(vbKeyR, 0, 0, 0) Call keybd_event(vbKeyR, 0, KEYEVENTF_KEYUP, 0) Call keybd_event(vbKeyO, 0, 0, 0) Call keybd_event(vbKeyO, 0, KEYEVENTF_KEYUP, 0) Call keybd_event(vbKeyF, 0, 0, 0) Call keybd_event(vbKeyF, 0, KEYEVENTF_KEYUP, 0) Call keybd_event(vbKeyE, 0, 0, 0) Call keybd_event(vbKeyE, 0, KEYEVENTF_KEYUP, 0) Call keybd_event(vbKeyS, 0, 0, 0) Call keybd_event(vbKeyS, 0, KEYEVENTF_KEYUP, 0) Call keybd_event(vbKeyS, 0, 0, 0) Call keybd_event(vbKeyS, 0, KEYEVENTF_KEYUP, 0) Call keybd_event(vbKeyI, 0, 0, 0) Call keybd_event(vbKeyI, 0, KEYEVENTF_KEYUP, 0) Call keybd_event(vbKeyO, 0, 0, 0) Call keybd_event(vbKeyO, 0, KEYEVENTF_KEYUP, 0) Call keybd_event(vbKeyN, 0, 0, 0) Call keybd_event(vbKeyN, 0, KEYEVENTF_KEYUP, 0) Call keybd_event(vbKeyA, 0, 0, 0) Call keybd_event(vbKeyA, 0, KEYEVENTF_KEYUP, 0) Call keybd_event(vbKeyL, 0, 0, 0) Call keybd_event(vbKeyL, 0, KEYEVENTF_KEYUP, 0) Call keybd_event(vbKeyT, 0, 0, 0) Call keybd_event(vbKeyT, 0, KEYEVENTF_KEYUP, 0) Call keybd_event(vbKeyO, 0, 0, 0) Call keybd_event(vbKeyO, 0, KEYEVENTF_KEYUP, 0) Call keybd_event(vbKeyO, 0, 0, 0) Call keybd_event(vbKeyO, 0, KEYEVENTF_KEYUP, 0) Call keybd_event(vbKeyL, 0, 0, 0) Call keybd_event(vbKeyL, 0, KEYEVENTF_KEYUP, 0) Call keybd_event(vbKeyS, 0, 0, 0) Call keybd_event(vbKeyS, 0, KEYEVENTF_KEYUP, 0) End Sub Private Sub Timer1_Timer() If GetAsyncKeyState(vbKey8) Then Call KnopkI End Sub В некоторых работает, а в некоторых нет. Объясни хоть ты, а то все в молчанку играют по этому вопросу. Кстати, в Win оно работает(в блокноте, в ворде и много ещё где). У меня WinXP Corporate Edition. Если уж все молчат, рискну предположить, что в играх это не работает из-за того, что DirectX и Винда используют разные системные потоки для клавиатуры, и, добавляя клавишу в поток Винды, ты не добавляешь его в поток DX... Sharp, а идеи, как это обойти нет. Кстати, я думал, что не работает из-за DirectInput. Кроме как "подобное подобным", т.е. использовать DX для ввода ничего в голову не приходит... А как через DX посылать кнопки. Хотя это слишком обломно. Ладно, придётся довольствоваться GTA и блокнотом. Страница: 1 |
Вопрос: Проблемка с OCX
Добавлено: 12.02.04 12:36
Автор вопроса: Ra$cal | Web-сайт:
Ответы
Всего ответов: 8
Номер ответа: 1
Автор ответа:
boevik
Хранитель чата
ICQ: 137392264
Вопросов: 8
Ответов: 557
Web-сайт:
Профиль | | #1
Добавлено: 12.02.04 12:40
OCX надо прорегестрировать, и тогда не вачно где прога, а где OCX.
Номер ответа: 2
Автор ответа:
Ra$cal
ICQ: 8068014
Вопросов: 18
Ответов: 817
Web-сайт:
Профиль | | #2
Добавлено: 12.02.04 13:18
Номер ответа: 3
Автор ответа:
Александр
Разработчик Offline Client
ICQ: 204034
Вопросов: 106
Ответов: 1919
Профиль | | #3
Добавлено: 12.02.04 13:27
Номер ответа: 4
Автор ответа:
Ra$cal
ICQ: 8068014
Вопросов: 18
Ответов: 817
Web-сайт:
Профиль | | #4
Добавлено: 12.02.04 14:39
Номер ответа: 5
Автор ответа:
Sharp
Лидер форума
ICQ: 216865379
Вопросов: 106
Ответов: 9979
Web-сайт:
Профиль | | #5
Добавлено: 12.02.04 19:42
Номер ответа: 6
Автор ответа:
Ra$cal
ICQ: 8068014
Вопросов: 18
Ответов: 817
Web-сайт:
Профиль | | #6
Добавлено: 12.02.04 20:12
Номер ответа: 7
Автор ответа:
Sharp
Лидер форума
ICQ: 216865379
Вопросов: 106
Ответов: 9979
Web-сайт:
Профиль | | #7
Добавлено: 13.02.04 00:44
Номер ответа: 8
Автор ответа:
Ra$cal
ICQ: 8068014
Вопросов: 18
Ответов: 817
Web-сайт:
Профиль | | #8
Добавлено: 13.02.04 13:38