powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / хитрые окошки
9 сообщений из 34, страница 2 из 2
хитрые окошки
    #37581118
Фотография BelowZero
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ципихович Эндрюа то придёт Шокер .. ыыыыы мне тоже) пролетарии всех стран объединяйтесь дабы свергнуть жестоких властителей и восстановить порядок правды мира, добра и справедливости! вернём свободу слова и права на спам! пусть многие падут... всех не перестреляют)
...
Рейтинг: 0 / 0
хитрые окошки
    #37581120
Фотография BelowZero
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ципихович Эндрю,

вот!) власти вынуждены снизить диктаторский режим, дабы народ не збунтовался на мировую революцию) теперь поможете найди хендл окон скайпа?
...
Рейтинг: 0 / 0
хитрые окошки
    #37581123
Ципихович Эндрю
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Pro,
>хихи, разрешаю вам обоим консультировать друг друга в темах созданных вами же
Скачуха
БеловЗеро
Поиск окно окна окон
код для установления открытых окон их количества и названия
http://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=855294&msg=10749463

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
114.
Option Explicit

Public TargetName As String
Public TargetHwnd As Long

Public Const GWL_STYLE = -16
Public Const WS_DISABLED = &H8000000
Public Const WS_CANCELMODE = &H1F
Public Const WM_CLOSE = &H10

Public Declare Function EnumWindows Lib "user32" (ByVal lpEnumFunc As Long, ByVal lParam As Long) As Long
Declare Function GetWindowText Lib "user32" Alias _
    "GetWindowTextA" (ByVal hWnd As Long, ByVal lpString _
    As String, ByVal cch As Long) As Long
Declare Function IsWindow Lib "user32" (ByVal hWnd As Long) _
    As Long
Declare Function GetWindowLong Lib "user32" Alias _
    "GetWindowLongA" (ByVal hWnd As Long, _
    ByVal nIndex As Long) As Long
Declare Function PostMessage Lib "user32" Alias _
    "PostMessageA" (ByVal hWnd As Long, ByVal wMsg _
    As Long, ByVal wParam _
    As Long, ByVal lParam As Long) As Long

Sub KillProga(proga As String)
    Do
        TargetName = proga
        TargetHwnd = 0
        ' Examine the window names.
        EnumWindows AddressOf WindowEnumerator, 0
        ' See if we got an hwnd.
        If TargetHwnd = 0 Then
            Exit Do
        Else
            EndTask (TargetHwnd)
        End If
    Loop
End Sub

' Return False to stop the enumeration.
Public Function WindowEnumerator(ByVal app_hwnd As Long, _
    ByVal lParam As Long) As Long
Dim buf As String * 256
Dim Title As String
Dim Length As Long

    ' Get the window's title.
    Length = GetWindowText(app_hwnd, buf, Len(buf))
    Title = Left$(buf, Length)

    If Length <> 0 Or Len(Title) <> 0 Then
    'MsgBox$ Title & " - " & Length
    Selection.TypeText Text:=Title & " - " & Length & Chr(13)
    End If

    ' See if the title contains the target.
    If InStr(Title, TargetName) > 0 Then
        ' Save the hwnd and end the enumeration.
        TargetHwnd = app_hwnd
        WindowEnumerator = False
    Else
        ' Continue the enumeration.
        WindowEnumerator = True
    End If
End Function

Function EndTask(TargetHwnd As Long) As Long

    Dim rc As Integer
    Dim ReturnVal As Integer
'    If TargetHwnd = Form1.hwnd Or GetWindow(TargetHwnd, _
'        GW_OWNER) = Form1.hwnd Then
'        End
'    End If
    If IsWindow(TargetHwnd) = False Then
        GoTo EndTaskFail
    End If
    If (GetWindowLong(TargetHwnd, GWL_STYLE) _
        And WS_DISABLED) Then
        GoTo EndTaskSucceed
    End If

    'Close the window
    If IsWindow(TargetHwnd) Then
        If Not (GetWindowLong(TargetHwnd, GWL_STYLE) _
        And WS_DISABLED) Then
        'rc = PostMessage(TargetHwnd, WS_CANCELMODE, 0, 0&)
        'rc = PostMessage(TargetHwnd, WM_CLOSE, 0, 0&)
         DoEvents
        End If
    End If
    GoTo EndTaskSucceed

EndTaskFail:
    ReturnVal = False
    GoTo EndTaskEndSub
EndTaskSucceed:
    ReturnVal = True
EndTaskEndSub:
    EndTask = ReturnVal
End Function

Sub Title_и_Length_окон()
'Title - название
'Length - длина

Selection.EndKey Unit:=wdStory
Selection.TypeParagraph

Dim proga As String
proga = "Thunderbirg"
KillProga proga

End Sub


смотрите, давно с ним не работал
...
Рейтинг: 0 / 0
хитрые окошки
    #37581130
Фотография BelowZero
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ципихович Эндрю,

эм... не очень понятно как тут что... нужно зная proc ID скайпа(через shell) найти хендлы его окон....
...
Рейтинг: 0 / 0
хитрые окошки
    #37581132
Фотография BelowZero
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
есть даже код, работающий на блокноте. у скайпа возвращает пустую строку
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
Public Const GW_HWNDNEXT = 2

Public Declare Function GetParent Lib "user32" (ByVal hwnd As Long) As Long
Public Declare Function GetWindow Lib "user32" (ByVal hwnd As Long, _
  ByVal wCmd As Long) As Long
Public Declare Function FindWindow Lib "user32" Alias "FindWindowA" _
  (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Public Declare Function GetWindowText Lib "user32" Alias "GetWindowTextA" _
  (ByVal hwnd As Long, ByVal lpString As String, ByVal cch As Long) As Long
Public Declare Function GetWindowThreadProcessId Lib "user32" _
  (ByVal hwnd As Long, lpdwprocessid As Long) As Long

Function ProcIDFromWnd(ByVal hwnd As Long) As Long
   Dim idProc As Long
   
   ' Get PID for this HWnd
   GetWindowThreadProcessId hwnd, idProc
   
   ' Return PID
   ProcIDFromWnd = idProc
End Function
      
Function GetWinHandle(hInstance As Long) As Long
   Dim tempHwnd As Long
   
   ' Grab the first window handle that Windows finds:
   tempHwnd = FindWindow(vbNullString, vbNullString)
   
   ' Loop until you find a match or there are no more window handles:
   Do Until tempHwnd = 0
      ' Check if no parent for this window
      If GetParent(tempHwnd) = 0 Then
         ' Check for PID match
         If hInstance = ProcIDFromWnd(tempHwnd) Then
            ' Return found handle
            GetWinHandle = tempHwnd
            ' Exit search loop
            Exit Do
         End If
      End If
   
      ' Get the next window handle
      tempHwnd = GetWindow(tempHwnd, GW_HWNDNEXT)
   Loop
End Function

Sub Command1_Click()
   Dim hInst As Long             ' Instance handle from Shell function.
   Dim hWndApp As Long           ' Window handle from GetWinHandle.
   Dim buffer As String          ' Holds caption of Window.
   Dim numChars As Integer       ' Count of bytes returned.
   
   ' Shell to an application
   hInst = Shell("calc.exe")
   
   ' Begin search for handle
   hWndApp = GetWinHandle(hInst)
   
   If hWndApp <> 0 Then
      ' Init buffer
      buffer = Space$(128)
      
      ' Get caption of window
      numChars = GetWindowText(hWndApp, buffer, Len(buffer))
   
      ' Display window's caption
      MsgBox "You shelled to the Application: " & Left$(buffer, numChars)
   End If
End Sub

...
Рейтинг: 0 / 0
хитрые окошки
    #37581134
Ципихович Эндрю
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BelowZero, мой код в ВБА Ворда запустите и я например относительно скайпа получил ответы:

Дмитрий (di_king_skype)
<availabilityicon status="offline"/> Не в сети
Последний раз был (-а) в сети 11.12.2011 21:07:03<br/>Последние события 5 месяц (-а/-ев) тому назад - 172
Skype™ - qwerty89028912680 - 26
C:\Documents and Settings\ЦЭ\Application Data\Skype - 51

здесь имя и хендл через чёрточку
...
Рейтинг: 0 / 0
хитрые окошки
    #37581140
Фотография BelowZero
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ципихович Эндрю,

у меня тупо виснет... что вы ввели в этой строчке? автор
Код: vbnet
1.
proga = "Thunderbirg"
...
Рейтинг: 0 / 0
хитрые окошки
    #37581145
Фотография BelowZero
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ципихович Эндрю,

отвисло) и вывело на 5000 страницах средним шрифтом имена всех окон на моём компе)))) правда они часто повторяются.... не совсем то, что ожидал увидеть) Ципихович ЭндрюДмитрий (di_king_skype)
<availabilityicon status="offline"/> Не в сети
Последний раз был (-а) в сети 11.12.2011 21:07:03<br/>Последние события 5 месяц (-а/-ев) тому назад - 172
Skype™ - qwerty89028912680 - 26
C:\Documents and Settings\ЦЭ\Application Data\Skype - 51 это именно то, что нужно получить)
...
Рейтинг: 0 / 0
хитрые окошки
    #37581156
Ципихович Эндрю
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BelowZero, так Вы проверку ставьте Like если нет слова Skype не писать, из 5000 останется один
...
Рейтинг: 0 / 0
9 сообщений из 34, страница 2 из 2
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / хитрые окошки
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]