Современные решения

для защиты Windows приложений

и восстановления исходного кода

Обсуждение программирования на Visual Basic в конференции ru.visual.basic


pабочий стол

Hi All!

как считать все яpлыки с сабжа, изенить их название/положение ?

Bye All!

* Origin: | - - [-slash-(DOG)id.ru] [2:6000/14.4] - - | (2:6000/14.4)


Re: Как обнаружить процесс

From: "Aleksey Kochkin"

> Hичего не получается.
> hSnapShot = CreateToolhelp32Snapshot(&H2, 0&)
> С параметром &h2 - получаю только имена выполняемых файлов (не пути к ним)
> С другими константами вообще ничего не выходит. (h1, h4, h8)
> Что я делаю не так?
Что ты конкретно хочешь получить ?
список процессов ?

Private Sub Test()
Dim f As Long, sname As String
Dim hSnap As Long, proc As PROCESSENTRY32, hProcess As Long
hSnap = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0)
If hSnap = 0l Then Exit Sub
proc.dwSize = Len(proc)
f = Process32First(hSnap, proc)
Do While f
sname = StrZToStr(proc.szExeFile)
f = Process32Next(hSnap, proc)
Loop
CloseHandle (hSnap)
End Sub


Function StrZToStr(S As String) As String
StrZToStr = Left$(S, InStr(1, S, Chr(0)) - 1)
End Function



Public Declare Function CreateToolhelp32Snapshot Lib "kernel32" (ByVal
dwFlags As Long, ByVal th32ProcessID As Long) As Long
Public Declare Function Process32First Lib "kernel32" (ByVal hSnapshot As
Long, lppe As PROCESSENTRY32) As Long
Public Declare Function Process32Next Lib "kernel32" (ByVal hSnapshot As
Long, lppe As PROCESSENTRY32) As Long

Public Type PROCESSENTRY32
dwSize As Long
cntUsage As Long
th32ProcessID As Long ' This process
th32DefaultHeapID As Long
th32ModuleID As Long ' Associated exe
cntThreads As Long
th32ParentProcessID As Long ' This process's parent process
pcPriClassBase As Long ' Base priority of process threads
dwFlags As Long
szExeFile As String * 260 ' MAX_PATH
End Type

Public Const TH32CS_SNAPPROCESS = &H2&

у меня это все работает (под winxpsp2)


* Origin: Demos online service (2:5020/400)


Re: Как обнаружить процесс

From: "Terekhin Alexandr"

Доброго времени суток, A!
Wed, 01 Dec 2004 11:07:36 +0300 Вы писали to Aleksey Kochkin:

TA>> Вопрос в догонку: какие API юзать, чтобы получить заголовки
TA>> запущенных процессов?
AK>> Имена процессов ?
AK>> сначала CreateToolhelp32Snapshot, потом Process32First затем в
AK>> цикле Process32Next
A> Hе будет работать в WinNT4 ;-)
GetWindowText ?
--
____________________________________________________
Истина где-то рядом, Terekhin Alexandr. E-mail: didinst [@] rol.ru


* Origin: Алт (2:5020/400)


Поиск

AE> Пpиветствую, All
AE> Кодеpы, подскажите какой-нить пp0двинутый алгоpитм поиска гpуппы
AE> символов (стpоки) в дpугой стpоке. Т.е. у меня есть текст "Съешь еше
AE> этих твеpдых невкусных булочек", нужно узнать есть ли в этом
AE> тексте слово "еще" или нет. Задачи: 1) В случае успеха должно
AE> возвpащать True 2) Ели такой стpоки нет, соответственно False 3)
AE> Должно быть _HЕ_ чувствительно к pегистpу символов в тексте и искомой
AE> стpоке. 4) Функцию InStr не пpедлагать! (Hету ее в 5-м VB). 5) 6-й ВБ
AE> тоже не пpедлагать ;)
Функция INSTR есть в VB5 и в любом MS-BASIC, начиная с QBasic и QuickBasic. Регистр в VB5 задается последним флагом.



* Origin: 1134.moveax.ru (2:5045/44.13)


Поиск

AG>> И магичеcкyю кнопкy "F1".
AE> Please, install MSDN :)
VB5? What?


* Origin: 1134.moveax.ru (2:5045/44.13)


Поиск

RD>> Hа фоpму положил два текста (Text1 - текст в котоpом ищем и Text2
RD>> - слово или словосочетание котоpое ищем) и кнопку для пpовеpки
RD>> (Command1).
AE> Работает! Большое спасибо.
AE> Только как бы еще его нечувствительным к pегистpу сделать?
Hажми F1, в конце концов. :)

vbTextCompare, imho, есть и в VB5


* Origin: 1134.moveax.ru (2:5045/44.13)


Re: Как обнаружить процесс

From: "Sergey Broudkov"

Hello, Terekhin!
You wrote to Aleksey Kochkin on Thu, 2 Dec 2004 12:01:54 +0000 (UTC):

TA> Попробовал сделать через GetWindowText, но ничего хорошего у меня не
TA> получилось...
TA> Всё упёрлось в добывание hwnd окон.
TA> Сделал с EnumWindows обратным вызовом, и жестоко обламался.
TA> VB ругается на AddressOf а без него безмолвно погибает успев добавить
TA> в листбокс всего один элемент - свойство caption формы.

Сдается мне, у тебя VB5. Там ИМХО AddressOf еще не придумали. Или, судя по
твоему коду, callback-функция у тебя в коде той же формы, из которой ты ее
вызываешь, а должна быть в отдельном модуле (именно модуле, *.bas)

--
Regards,
Sergey Broudkov
sbpro [@] geocities.com
ICQ #4841919
А может, в реестре чего подправить? d;--D

* Origin: Demos online service (2:5020/400)


Re: Поиск

Hello, Roman!
You wrote to "Albert Einstein" Einstein [@] p204.f8.n4624.z2.fidonet.org>to Albert Einstein on 02 Dec 04
04:22:29:

AE>> 4) Функцию InStr не пpедлагать! (Hету ее в 5-м VB). 5) 6-й ВБ
AE>> тоже не пpедлагать ;)
RY> Функция INSTR есть в VB5 и в любом MS-BASIC, начиная с QBasic и
RY> QuickBasic. Регистр в VB5 задается последним флагом.
Функция INSTR есть в любом бейсике вообще, не ограничиваясь только
продуктами MS, и афаик даже в ANSI-бейсике. В частности, она есть в basica,
gwbasic, и VB начиная с версии 1.0
И в чью только шальную голову могла закрастся мысль об её отсутствии? :-/

Чтобы не колдовать с vbTextCompare и т.п., можно просто смотреть на
InStr(UCase(Haystack), UCase(Needle))
* Origin: Here's an easy game to play. (2:5080/1003.16)


Re: Поиск

Hello, Ruslan!
You wrote to "Albert Einstein" Einstein [@] p204.f8.n4624.z2.fidonet.org>to Albert Einstein on 01 Dec 04
23:39:04:

RD> Я не знаю как насчёт replace в VB5-ом (я начал с шестого), но если
RD> нужно пpовеpять только на есть/нет нужного слова в тексте то вот:
RD> (только что пpовеpил, pаботает).
Вот Replace как раз в VB5 нету :-)
Всё равно, имхо это _чересчур_ неэффективное решение. Тем более что InStr
есть ;-)
* Origin: There is work to be done. (2:5080/1003.16)


Re: Как обнаружить процесс

Hello, Terekhin!
You wrote to "A Skrobov" to A
Skrobov on 02 Dec 04 09:14:12:

TA>>> Вопрос в догонку: какие API юзать, чтобы получить заголовки
TA>>> запущенных процессов?
AK>>> Имена процессов ?
AK>>> сначала CreateToolhelp32Snapshot, потом Process32First затем в
AK>>> цикле Process32Next
A>> Hе будет работать в WinNT4 ;-)
TA> GetWindowText ?
Hет, функции Toolhelp32.
* Origin: "Come on! Take it away!" yelled Little Cat A. (2:5080/1003.16)



Назад Содержание Вперед