Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / значок в трее 3. восстание машин / 21 сообщений из 21, страница 1 из 1
18.06.2011, 18:20
    #37314190
BelowZero
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
значок в трее 3. восстание машин
вопрос:
1) совпадает ли хендл чужой проги, добавившей значок в трей, и хендл самого значка, добавленного чужой прогой в трей?
если нет, то
2) совпадают ли хендлы некоторых окон чужой проги, добавившей значок в трей, со значком в трее?
если нет, то
3) совпадает ли хендл значка вообще хоть с чем-нибудь и как его узнать?

P/S третий топик по этой теме, смысл: удалить чужой значок из трея. известны имя, адрес, хендл проги, добавившей значок в трей.
...
Рейтинг: 0 / 0
18.06.2011, 19:39
    #37314249
Ципихович Эндрю
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
значок в трее 3. восстание машин
...
Рейтинг: 0 / 0
18.06.2011, 20:09
    #37314281
BelowZero
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
значок в трее 3. восстание машин
Ципихович Эндрю,

пасяп! значит BelowZeroсовпадают хендлы некоторых окон чужой проги, добавившей значок в трей, со значком в трее? поезд тронулся) осталось узнать хендлы дочерних окон по хендлу самой проги.. где-то такое читал... воде используя FindWindowEx и EnumChildWindows... поищу P/S тоже зарегился на том форуме. ответили оперативненько: первым же сообщением)
...
Рейтинг: 0 / 0
18.06.2011, 20:19
    #37314290
Ципихович Эндрю
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
значок в трее 3. восстание машин
BelowZero,

Златоуст рулит!!
...
Рейтинг: 0 / 0
18.06.2011, 20:29
    #37314297
Ципихович Эндрю
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
значок в трее 3. восстание машин
BelowZro
Новенький, что руки затряслись когда лёд тронулся???
...
Рейтинг: 0 / 0
18.06.2011, 22:29
    #37314375
BelowZero
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
значок в трее 3. восстание машин
мне очень стыдно, но буду рад, если напомните код нахождения hwnd проги по фрагменту имени. вроде недавно на этом останавливался, несколько раз натукался на сайты, а сейчас что-то уже второй час не могу найти(
...
Рейтинг: 0 / 0
18.06.2011, 22:54
    #37314391
BelowZero
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
значок в трее 3. восстание машин
код, закрывающий окно по фрагменту имени
модуль
Код: plaintext
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.
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 FindWindowEx Lib "user32" Alias "FindWindowExA" (ByVal hwnd1 As Long, ByVal hwnd2 As Long, _
ByVal lpsz1 As String, ByVal lpsz2 As String) As Long
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)

    ' 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
форма
Код: plaintext
1.
2.
Private Sub Command1_Click()
    KillProga Text1.Text
End Sub
TargetHwnd вроде должен быть хэндлом искомого окна, но он равен 0. какая из переменных тут хендл искомого окна?
...
Рейтинг: 0 / 0
19.06.2011, 07:43
    #37314511
Ципихович Эндрю
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
значок в трее 3. восстание машин
BelowZero, вот Вам ещё для затравки: http://forum.sources.ru/index.php?showtopic=334245
Мне пока тема не интересна, потом выложите выстраданный ответ
...
Рейтинг: 0 / 0
20.06.2011, 09:07
    #37315294
Игорь Горбонос
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
значок в трее 3. восстание машин
OFFЭндрю, а ты оказывается хорошо шифруешся! :) ) )
Тебя, оказывается, награждают Форум на Исходниках.RU Поощрение участникаОперацияОснованиеПоощрён 'Ципихович Эндрю' на 1 DgmВошел в пятерку лучших раздела "VB for Application" 2010 год
как лучшего, а здесь прикидываешся чайником.
Не хорошо.
...
Рейтинг: 0 / 0
20.06.2011, 12:50
    #37315675
Shamanus
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
значок в трее 3. восстание машин
Игорь Горбонос,

оффА как ты думаешь он стал лучшим? Тут перепостил вопрос, а туда перепостил ответ
...
Рейтинг: 0 / 0
20.06.2011, 17:09
    #37316322
AndreTM
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
значок в трее 3. восстание машин
оффА помнится, ЦЭ был забанен как раз к окончанию 2010-го за излишнюю активность?
Вот, оказывается, что его подстёгивало
...
Рейтинг: 0 / 0
20.06.2011, 17:11
    #37316325
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
значок в трее 3. восстание машин
щааДа он и тут так же поступает
Только тут наград не дают, и хорошо
...
Рейтинг: 0 / 0
20.06.2011, 19:53
    #37316658
BelowZero
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
значок в трее 3. восстание машин
для интереса можете и по теме топика написать все ток рады будут) *offtop ЦЭ связывает все форумы между собой, сближает всех хакеров, без него начнётся 3 мировая война)
...
Рейтинг: 0 / 0
21.06.2011, 08:48
    #37317122
Игорь Горбонос
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
значок в трее 3. восстание машин
BelowZero,

Так а чего писать-то? Лезть в чужое адресное пространство всегда считалось грехом. Во всех виндовсах с этим явлением усиленно борются и чем новее виндовс,тем лучше борьба + ещё и антивирусник любит стучать по голове за такие вещи.

В чем сакральный смысл лезть в чужое приложение?
...
Рейтинг: 0 / 0
21.06.2011, 11:52
    #37317534
Ципихович Эндрю
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
значок в трее 3. восстание машин
BelowZeroдля интереса можете и по теме топика написать все ток рады будут) *offtop ЦЭ связывает все форумы между собой, сближает всех хакеров, без него начнётся 3 мировая война)
я лишь ответил на это
10834322
...
Рейтинг: 0 / 0
21.06.2011, 17:59
    #37318556
BelowZero
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
значок в трее 3. восстание машин
Игорь Горбонос,

в том, что нужно использовать возможности чужого приложения,и, как воспитаный человек, я обязан убирать за своей и вызванной чужой программой. но это оказалось не так просто. никто не знает, как кикать чужие значки из трея.
p/s если нужно попасть в америку, а её ещё не открыли, лучше подожду какого-нибудь бесстрашного колумба, чем сам буду бессмысленно бродить годами по тихому океану.
...
Рейтинг: 0 / 0
21.06.2011, 18:50
    #37318667
Игорь Горбонос
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
значок в трее 3. восстание машин
> Автор: BelowZero
> как воспитаный человек, я обязан убирать за своей и вызванной чужой программой.

Скайп нормально за собой убирает сам, не прибивай процесс, а пошли ему сообщение WM_QUIT и скайп сам все за собой
уберёт. В чем проблема?

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
22.06.2011, 13:22
    #37319894
BelowZero
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
значок в трее 3. восстание машин
Игорь Горбонос> Автор: BelowZero
> как воспитаный человек, я обязан убирать за своей и вызванной чужой программой.

Скайп нормально за собой убирает сам, не прибивай процесс, а пошли ему сообщение WM_QUIT и скайп сам все за собой
уберёт. В чем проблема?


скайп в это время должен работать
...
Рейтинг: 0 / 0
22.06.2011, 13:24
    #37319901
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
значок в трее 3. восстание машин
Скоро на топик от Белова "значок в трее N" будет автобан ))
...
Рейтинг: 0 / 0
22.06.2011, 14:20
    #37320037
Игорь Горбонос
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
значок в трее 3. восстание машин
> Автор: BelowZero
> как воспитаный человек, я обязан убирать за своей и вызванной чужой программой.
....
> скайп в это время должен работать

Эти фразы как-то не вяжутся между собой, поэтому "чиркайте, чиркайте" (с) анекдот

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
22.06.2011, 15:54
    #37320300
big-duke
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
значок в трее 3. восстание машин
BelowZero,

полагаю, что ответов вы получили достаточно.
На этом тема закрывается.
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / значок в трее 3. восстание машин / 21 сообщений из 21, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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