Легенда:
новое сообщение
закрытая нитка
новое сообщение
в закрытой нитке
старое сообщение
|
- Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
- Новичкам также крайне полезно ознакомиться с данным документом.
[C++] Опять траблы... 18.06.03 13:43 Число просмотров: 1042
Автор: Hux0r Статус: Незарегистрированный пользователь
|
> Теперь тебе нужно найти окно этого диалога и DlgItem > соответствующий EditBox-у с именем файла. После этого > послать туда WM_SETTEXT или сделать SetWindowText(), а > лучше воспользоваться макросом из windowsx.h Edit_SetText() > > После заполнения едита сделать WM_COMMAND с кодом клавиши > OK. > > > // или я чего-то не в том направлении иду? > > Одна проблема - для разных версия нотепадов и коммон > диалогов DlgItem-ы могут быть разные. Если ты делаешь прогу > не только для себя, лучше динамически перечислять все > дочерние окна и находить по надписи на кнопке или по > положению или еще как реальный DlgItem ID. Процедура которая перечисляет дочерние окна
BOOL EnumChildWindows(
HWND hWndParent, // дескриптор родительского окна
WNDENUMPROC lpEnumFunc, // указатель на функцию обратного вызова
LPARAM lParam // определенное приложением значение
)
вызывает искючение какое-то...
Насколько я понимаю, в первый параметр "HWND hWndParen" я пихаю хендл найденного блокнота
во второй - "LPARAM lParam" - NULL
А что вставлять в третий параметр "WNDENUMPROC lpEnumFunc" ?
Мне же ведь нужно получить дескриптор дочернего окна, куда же он возвращается?
И еще проблема. Я показал это все на примере блокнота, а он имеет стабильный ClassName ="Notepad".
А вообще-то мне надо находить дескриптор программы 1С: Предприятие, а у него ClassName меняющийся, т.е. мне нужно делать выборку всех окон
Пользуюсь функцией
HWND firstwin, Handle;
firstwin=GetWindow(Handle,GW_HWNDFIRST);
// должен получить первое попавшееся окно,
// но она возвращает NULL
Параметр Handle - вроде как начальный дескриптор, я туда ничего не ставлю, может быт его надо как то определить?
|
|
|