Обсуждение программирования на 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" 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" 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) |