ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2

ANTICHAT — форум по информационной безопасности, OSINT и технологиям

ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию. Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club, и теперь снова доступен на новом адресе — forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
Вернуться   Форум АНТИЧАТ > Программирование_OLD > С/С++, C#, Delphi, .NET, Asm
   
 
 
Опции темы Поиск в этой теме Опции просмотра

  #11  
Старый 30.06.2008, 19:45
desTiny
Reservists Of Antichat - Level 6
Регистрация: 04.02.2007
Сообщений: 1,152
Провел на форуме:
3008839

Репутация: 1502


По умолчанию

Цитата:
Сообщение от 12usver12  
аналог делфи
WinExec(PCHAr('D:\инсталятор.EXE'),sw_Hi de);// запуск процесса в скрытом режиме
SendMessage(дескриптор кнопки,BM_Click,0,0); //
дескриптор кнопки ("Далее") ищется через дескриптор окна = FindWindow( 0, ННазвание окнаб...
FindWindow(Дескриптор окна , класс кнопки, ....

и будет тебе счастье
FindWindowEx только
__________________
Bedankt euch dafür bei euch selbst.

H_2(S^3/((z1, z2)~(exp(2pi*i/p)z1, exp(2pi*q*i/p)z2)))=Z/pZ
 

  #12  
Старый 30.06.2008, 20:20
12usver12
Познающий
Регистрация: 12.12.2007
Сообщений: 81
Провел на форуме:
589075

Репутация: 53
По умолчанию

Цитата:
Сообщение от desTiny  
FindWindowEx только
не знаю, может быть , недавно подобные шняги на C# делал , там импортировал функцию WinApi - FindWindow и все норм было
 

  #13  
Старый 30.06.2008, 21:05
izlesa
Участник форума
Регистрация: 03.01.2008
Сообщений: 156
Провел на форуме:
414311

Репутация: 110
Отправить сообщение для izlesa с помощью ICQ
По умолчанию

FindWindow не ищёт дочернии окна. А так она аналогина FindWindowEx. Точнее наоборот ^___^
Так что приминение той или иной функции зависит от задач. Как впрочем и всегда ^___^
 

  #14  
Старый 30.06.2008, 21:58
da_ff
Участник форума
Регистрация: 11.07.2006
Сообщений: 125
Провел на форуме:
413927

Репутация: 71
Отправить сообщение для da_ff с помощью ICQ
По умолчанию

FindWindow все окна находит по их дескрипторам .
с сендмессейдж может быть проблема, если программа имеет диалоговое окно, там свои нюансы.
самый надежный способ переключить окно в фокус и нажать виртуально кнопку. но для этого окно должно быть видимо
 

  #15  
Старый 30.06.2008, 22:55
12usver12
Познающий
Регистрация: 12.12.2007
Сообщений: 81
Провел на форуме:
589075

Репутация: 53
По умолчанию

виртуальная кнопка , ты имеешь ввиду типа SendKeys.Send("VK_RETURN"); - ентер ,
вот мучил вопрос как наажть на кнопку IE диалогового окна сохранения файла (Запустить Сохранить Отмена) б я знаю 3 способа наажтия через SendMessage
1) SendMessage(Handle, BM_Click,0,0);
2) SendMessage(Handle, BM_SETSTATE,1,0); SendMessage(Handle, WM_KILLFOCUS,0,0);
3) SendMessage(Handle, WM_LBUTTONDOWN,1,0); SendMessage(Handle, WM_LBUTTONUP,0,0);

но ни один не сработал там

Последний раз редактировалось 12usver12; 30.06.2008 в 22:58..
 

  #16  
Старый 01.07.2008, 00:30
_empty
Познающий
Регистрация: 22.03.2008
Сообщений: 63
Провел на форуме:
247838

Репутация: 65
По умолчанию

Цитата:
Сообщение от 0x22b  
to _empty Не подскажеш как на кнопки влиять через SendMessage().. Например, как закрыть приложение я знаю. SendMessage(hwnd, WM_CLOSE,0,0).. Какие параметры передавать чтобы нажать на кнопку в программе? заранее спс..
Вот код, который нажимает кнопку пуск, а потом прячет ее с экрана на 2 секунды

PHP код:
#include <windows.h>

void main(void)
{
HWND hTaskBarhButton;
HDC hDCScreen GetDC(NULL);
DWORD ScreenHeight=GetDeviceCaps(hDCScreen,VERTRES);
ReleaseDC(NULLhDCScreen);

hTaskBarFindWindow("Shell_TrayWnd",NULL);
hButtonGetWindow(hTaskBarGW_CHILD);
// Hажать кнопку "Пуск" предпоследний параметр это кнопка которая нажата, а последний коориднаты курсора мыши.
SendMessage(hButtonWM_LBUTTONDOWN,MK_LBUTTON,LOWORD(5)+
HIWORD(ScreenHeight-20));

// Дальше только ради прикола...
// Спрячем кнопку "Пуск"
ShowWindow(hButtonSW_HIDE);
//спрячем на 2 сек
Sleep(2000);
// Покажем кнопку "Пуск"
ShowWindow(hButtonSW_NORMAL);

 

  #17  
Старый 01.07.2008, 14:41
ZirroCool
Участник форума
Регистрация: 16.09.2006
Сообщений: 139
Провел на форуме:
513709

Репутация: 144
Отправить сообщение для ZirroCool с помощью ICQ
По умолчанию

а как запустить прогу чтоб ее не было видно, пробовал shellapi winexec createprocess с параметром sw_hide но чет не скрывает?
 

  #18  
Старый 01.07.2008, 17:12
_empty
Познающий
Регистрация: 22.03.2008
Сообщений: 63
Провел на форуме:
247838

Репутация: 65
По умолчанию

Цитата:
Сообщение от ZirroCool  
а как запустить прогу чтоб ее не было видно, пробовал shellapi winexec createprocess с параметром sw_hide но чет не скрывает?
А что именно не скрывает? WinExec("path+name", SW_HIDE) должен скрывать, если конешн прога сама себя не делает видимой, т.е. назначает себя SW_SHOW, тогда попробуй либо размер окна в 1,1 установить, и перетащить куда нибудь за пределы рабочего стола.
 

  #19  
Старый 01.07.2008, 20:00
ZirroCool
Участник форума
Регистрация: 16.09.2006
Сообщений: 139
Провел на форуме:
513709

Репутация: 144
Отправить сообщение для ZirroCool с помощью ICQ
По умолчанию

мне нужно чтобы он запускал ее уже скрытой, тк у нее идет сначала окно заставки!
Потом то я окно скрываю вот так без проблем:
Код:
Begin
 Wd := FindWindow(nil, 'Хендл');
 If  Wd<>Form1.Handle then
        If  IsWindowVisible(WD) then 
            If  not IsIconic(WD) then 
              If  isWindow(WD) then 
                 case n of
                   1:
                     ShowWindow(WD, SW_Hide);
А вот как сделать чтоб она скрыто запускалась с самого начала?

И еще у мну в этой проге(прога написана на с++) почему то не отмечается чек бокс, делаю так:
Код:
Wd:=FindWindowEx(Wd, 0, 'CheckBox', nil);
SendMessage(Wd, BM_SETcheck,1,0);
хотя на другой проге написанной на дельфях прет(ток там я ставлю ТCheckBox)!

Но самое интересное что кликанье по кнопке, работает в этой проге, делаю вот так:
Код:
Wd := FindWindowEx(Wd, 0, 'Button', nil);
SendMessage(Wd, BM_CLICK, 0, 0);
не понятно почему не работает чек бокс?

Последний раз редактировалось ZirroCool; 01.07.2008 в 20:07..
 

  #20  
Старый 01.07.2008, 20:42
12usver12
Познающий
Регистрация: 12.12.2007
Сообщений: 81
Провел на форуме:
589075

Репутация: 53
По умолчанию

попробуй и отмечание чекбокса сделать через
SendMessage(Wd, BM_CLICK, 0, 0);
или
SendMessage(Handle, BM_SETSTATE,1,0); SendMessage(Handle, WM_KILLFOCUS,0,0);

оно запускает твою прогу скрытой , но любое выскакивающее окошко из этой формы будет видно, в данном случае твоя заставка , тебе остается только запускать таймер и мониторить окно заставки а там уже потом через ShowWindow пряч его
 
 





Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ