Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 |

 

  Вопрос: Узнать заголовок акивного окна и исполняемый файл Добавлено: 21.12.08 14:42  

Автор вопроса:  Александр | ICQ: 414713812 
Народ)) прмогите) что-то сижу мучаю.. нифига не получается. Вот допустим просто в текстовое поле занести имя исполняемого файла активного окна и заголовок его.

Ответить

  Ответы Всего ответов: 7  

Номер ответа: 1
Автор ответа:
 Александр



ICQ: 414713812 

Вопросов: 16
Ответов: 49
 Профиль | | #1 Добавлено: 21.12.08 15:47
забыл сказать, что на VB 6.0 надо сделать)

Ответить

Номер ответа: 2
Автор ответа:
 Ra$cal



ICQ: 8068014 

Вопросов: 18
Ответов: 817
 Web-сайт: www.rascalspb.narod.ru
 Профиль | | #2
Добавлено: 21.12.08 16:59
загловок окна активного - GetForegroundWindow

путь к ехе
  1.  
  2. CString CWindowsUtils::GetExePath( POINT pt ) const
  3. {
  4. HWND hwnd;
  5. hwnd = WindowFromPoint(pt);
  6. return GetExePath(hwnd);
  7. }
  8.  
  9. CString CWindowsUtils::GetExePath( HWND wnd ) const
  10. {
  11. DWORD pid, tid;
  12. tid = GetWindowThreadProcessId(wnd, &pid);
  13.  
  14. HANDLE snapshot;
  15. snapshot = CreateToolhelp32Snapshot(TH32CS_SNAPMODULE, pid);
  16. if(snapshot == INVALID_HANDLE_VALUE)
  17. return "";
  18.  
  19. MODULEENTRY32 process_module = {0};
  20. process_module.dwSize = sizeof(process_module);
  21.  
  22. if(!Module32First(snapshot, &process_module)){
  23. CloseHandle(snapshot);
  24. MessageBox(0, "Module32First error!", "Error", 0);
  25. return "";
  26. }
  27.  
  28. CloseHandle(snapshot);
  29. return process_module.szModule;
  30. }

Тут все апи используются, надеюсь осилишь мсдн открыть и прочитать про эти функции, чтоб в вб перетянуть.

Ответить

Номер ответа: 3
Автор ответа:
 Ra$cal



ICQ: 8068014 

Вопросов: 18
Ответов: 817
 Web-сайт: www.rascalspb.narod.ru
 Профиль | | #3
Добавлено: 21.12.08 17:02
заголовок точнее получить надо с помощью GetWindowText(GetForegroundWindow()...). Там важный момент что надо выделить память под строку перед вызовом.

Ответить

Номер ответа: 4
Автор ответа:
 Александр



ICQ: 414713812 

Вопросов: 16
Ответов: 49
 Профиль | | #4 Добавлено: 22.12.08 12:52
да мне на Vb 6.0 надо а не на vb.net)) а насчёт GetWindowText(GetForegroundWindow()...) можно чутка поподробнее?

Ответить

Номер ответа: 5
Автор ответа:
 



Администратор

ICQ: 278109632 

Вопросов: 42
Ответов: 3949
 Web-сайт: domkratt.com
 Профиль | | #5
Добавлено: 22.12.08 14:57
А перевести на ВБ6 духу не хватит что ли? =)

  1. Private Declare Function GetWindowText Lib "user32" Alias "GetWindowTextA" (ByVal hwnd As Long, ByVal lpString As String, ByVal cch As Long) As Long
  2. Private Declare Function GetForegroundWindow Lib "user32" () As Long
  3.  
  4. Private Sub Blah()
  5.     Dim windowName As String
  6.     Dim windowNameLength As Integer
  7.     windowName = Space(1024)
  8.     windowNameLength = GetWindowText(GetForegroundWindow, windowName, 1024)
  9.     windowName = Left$(windowName, windowNameLength)
  10. End Sub

Ответить

Номер ответа: 6
Автор ответа:
 Ra$cal



ICQ: 8068014 

Вопросов: 18
Ответов: 817
 Web-сайт: www.rascalspb.narod.ru
 Профиль | | #6
Добавлено: 22.12.08 20:01
код получения пути к ехе не на вбнет, а на с++ =) но это не принципиально. все что там используется - апи. открываещь гугл, ищешь, как вызывать эти функции в вб, и повторяешь структуру программы.

Ответить

Номер ответа: 7
Автор ответа:
 Александр



ICQ: 414713812 

Вопросов: 16
Ответов: 49
 Профиль | | #7 Добавлено: 22.12.08 20:57
Спасибо) буду разбираться)

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам