Если ты хочешь запускать программу в скрытом режиме делай так - WinExec("app_Path+name",SW_HIDE); После этого PHP: MoveWindow(hWnd: HWND, X(int), Y(int), nWidth(int), nHeight(int), bRepaint: BOOL) где X и Y - новые координаты окна, hWnd - описатель, nWidth и nHeight - новые ширина и высота соответсвенно и bRepaint - перерисовывать окно или нет P.S. Забыл сказать, насчет окон, есть такая хорошая бесплатная программа Restorator , которая может из файла вырезать ресурсы, так вот, я рекомендую вырезать всякие заставки и все такое, или отредактировать их так, что они будут не видны, тогда никаких проблем с внезапным выскакивающим окошком не будет.
Кез передает Юзайте пожалуйста CreateDesktop, SetThreadDesktop и CloseDesktop Ждал, пока в этом топике появится хотя бы 1 здравомыслящий человек, но походу это будет продолжаться бесконечно. Всем привет! 23:57:22: и после всем привет - Как дела, пацаны?
А чез Restorator можно в диалоговом окне сделать так чтобы какой нить чекбокс был отмечен? и как это сделать я чет не понял!
К сожаленью не получиццо, можно только удалять и добавлять ресурсы, чекбокс не отмечен, хотя мб есть еще какие-нибудь програмы, погугли
SlyBit, вроде эта прога такая же как и ресторатор в ней я тож не нашел способа отметить чек бокс! Может обьяснишь?
ZirroCool Сорри, перепутал, отметить чекбокс через редактор ресурсов нельзя (по крайней мере для программ, скомпилированных борладским компилятором), можно только снять метку с него. Я так понял, ты через апи имитируешь нажатия кнопок пользователем, шли тогда сообщение чекбоксу SendMessage(hCheckbox, BM_SETCHECK, 1, 0). sn0w Менять рабочие столы можно только для своего процесса.
в той проге эта хрень не работает SendMessage(hCheckbox, BM_SETCHECK, 1, 0), скорее всему потому что чек бокс в диалоге, так что я хз как сделать по этому и спрашиваю какие могут быть вообще варианты?
Можно попробовать нажать мышью на CheckBox - Выставляешь допустим позицию окна заданую запускалось чтобы там, для удобства 0,0 например. отмеряешь, сколько примерно до чекбокса пикселей по x и y, а дальше уже имитируешь нажатие мыши в заданном месте, должен нажаться чекбокс.
ZirroCool Тебе нужно получить хэдл окна чекбокса, для этого перебираешь все дочерние окна главной формы функцией EnumChildWindows(hMain, EnumChildProc, 0);. hMain - хэдл окна главной формы, его получаешь функией FindWindow(0, "FormTitle"). EnumChildProc - функция перебора дочерних окон. Возвращает 1 для продолжения перебора окон, 0 для прекращения. Первый параметр - хэдл очередного дочернего окна. Code: BOOL CALLBACK EnumChildProc(HWND hwnd , LPARAM lParam) { char szWindowText[255]; // Получаем заголовок окна GetWindowText(hwnd, szWindowText, 255); // Сравниваем с нашим, если нашли, то ставим галочку и останавливаем перебор if(!lstrcmp(szWindowText, "CheckBox1")) { SendMessage(hwnd, BM_SETCHECK, 1, 0); return 0; } return 1; } BOOL WINAPI ProcessControl() { HWND hMain; if(!(hMain = FindWindow(0, "FormTitle"))) { return 0; } EnumChildWindows(hMain, EnumChildProc, 0); return 1; } Таким образом можно искать любое окно на форме.
sn0w Твоя правда, раньше не обращал внимания. Хотя опять же, смысл создавать рабочий стол, если можно просто полю wShowWindow присвоить значение SW_HIDE.