История развития программирования, программирование, языки программирования, книги программирование На сайте представлена информация про программирование в Интернете и работу  

HTML parsen
2 иконки в Treeview
Помогите с ошибкой
Сохранение и загрузка текста в TextBox
Мультипоточность
ctrl+alt+del, ctrl+alt+del
имеет ли текстбокс фокус?
activeskin, поиск
Как округлить число
SOS!!!
Поиск файлов по шаблону, как найти все файлы с расширением jpg
Работа с файлом
Как разработать hlp-файл?, WhatsThisHelpID и hlp-файл
Вопрос про счетчик
сумма чётных и нечётных, сумма чётных и нечётных
Переключатели в меню
Большой текст в TextBox
Добавление тулбара и меню
Как Вы относитесь к курящим девушкам?
Количество запрашиваемых записей, ADODB
Русский язык в VBScript, Проблемма с русским языком в скриптах
Нужен счетчик
что работает быстрее?, оптимизация, и всё с ней связанное.
Перехват сообщений модема
Поля в принтере
Компилирование програм на VB6
Как прикрепить рисунок
Какая функция отсекает лишнюю часть числа
Работа c Диспечтером Задач, Как программно убить задачу
перехват данных АОН, Перехват потока сообщений системы
Создание картотеки как в windows 3.1, Как это сделать?
Как программно сделать копию экрана?
Зарезервированые слова
JTree, функция mark/unmark folder
Изменение свойств окна, В чужой программе
Данные внутри программы
Текстовые переменные, Не знаю как отобразить суть.
Открытие БД с паролем, Как открыть защищенную БД Access
Цвет шрифта на кнопке, winapi
Как создать объект?
ошибка!!!!, помогите разобраться в чём дело
SHChangeIconDialog, не возвращается путь к файлу...
Как отловить изменение ширины столбца MSFlexGrid
Запуск приложений на удаленном компьютере, Запуск приложений через ЛС на удаленном
Хук событий
Дистрибутив, Как его сделать
Сохранить рисунок в jpg,gif или bmp, Нарисованный в программе
Data, Проблемы с подключением txt файла
Что такое хост SMTP?, Что такое хост SMTP?
Select case
совместимость ВБ и МсВорда, как из ВБ управлять полями в ворде
Использование QueryDef
Иконки, как програмно....
Создание базы данных
Не работает МсВорд когда стоит ВБ6
Оптимизация программ
API функции для COM порта
vpn подключение
ListBox не отражает свойство Font.Charset, ListBox не отражает свойство Font.Charse
Файлы произвольного доступа
Аудиограббер, Можно его написать в VB6?
Как упростить код, Как упростить код
Мультфильмы, Как делать мультфильмы в Basic?
Как Вы относитесь к курящим девушкам?
Только числа, Опять я дурак...
из ВБ в ВБА срочно, перевести код из обычного ВБ в ВБА
Программирование для мобильных, Что выбрать?
Крестик, Крестик
Переменные в VB6
VBA, программирование на VBA

Платные хостинги     Раскрутка сайта     Книги по программированию


Работа c Диспечтером Задач, Как программно убить задачу

Только здесь 1000 посетителей на Ваш сайт всего за 3 у.е.!

- Как программно убить процесс с именем например name.exe, висящий в Диспетчере Задач, Именно УБИТЬ, а не Снять задачу.

- Вот нашел на каком-то сайте пример:Код Declare Function RegisterServiceProcess Lib "kernel32.dll" _ (ByVal dwProcessId As Long, ByVal dwType As Long) As Long Declare Function GetCurrentProcessId Lib "kernel32.dll" () As Long 'Для скрытия: RegisterServiceProcess GetCurrentProcessId, 1 'Для показа: RegisterServiceProcess GetCurrentProcessId, 0highlightSyntax('vbhMzU4O','vb');Код sub main() app.TaskVisible = false 'мой код end subhighlightSyntax('vbDVlZGU','vb');Может ли кто-нибудь объяснить мне как этим пользоваться? Добавлено @ 15:43 Опять что-ли подключать kernel32.dll из winnt\system32 через Recent - так не работает, пишет ошибочка вышла. Это сообщение отредактировал Voldemar2004 - 23.3.2005, 15:42

- Вот еще сам вывел:Код Private Sub Command1_Click()Ogg = App.ThreadIDShell ("c:\OggShell\oggenc")MsgBox OggEnd SubhighlightSyntax('vbNWE4Nz','vb');только показывает номер не того процесса, который мне нужен, а процесс формы. Надо показать PID Shell'a.

- Voldemar2004причем тут функция, скрывающая процесс в диспетчере задач win9x (RegisterServiceProcess) я не понял, а пользоваться ей так:Код Const RSP_SIMPLE_SERVICE = 1Const RSP_UNREGISTER_SERVICE = 0Private Declare Function GetCurrentProcessId Lib "kernel32" () As LongPrivate Declare Function RegisterServiceProcess Lib "kernel32" (ByVal dwProcessID As Long, ByVal dwType As Long) As LongPublic Sub MakeMeService()    Dim pid As Long, reserv As Long    'получаем ID текущего процесса    pid = GetCurrentProcessId()    'регистрируем его как сервис    regserv = RegisterServiceProcess(pid, RSP_SIMPLE_SERVICE)End SubPublic Sub UnMakeMeService()    Dim pid As Long, reserv As Long    pid = GetCurrentProcessId()    'здесь, думаю, и так понятно :)    regserv = RegisterServiceProcess(pid, RSP_UNREGISTER_SERVICE)End SubPrivate Sub Form_Load()    MakeMeServiceEnd SubPrivate Sub Form_Unload(Cancel As Integer)    UnMakeMeServiceEnd SubhighlightSyntax('vbjkxMGV','vb');Но прошу обратить внимание, что эта функция работает только в видовс 9х и не поддерживается в NTА по поводу "убивания" есть много способов, конечно проще всего убивать процесс, если он имеет какие-нть окна. Смотря как стоит задача...если надо, могу сляпать примерчик, только конкретизируй условия.

- У меня win NT 5.x. Ну пример такой: имеется консольная прога oggenc.exe я сделал так чтоб она была невидима для глаз юзера свойством vbHide, в диспетчере задач она видна естественно как процесс с именем oggenc.exe. В диспетчере задач - ну там где приложения она не видна, но если убрать vbHide то она будет видна в окне "Приложения".Код Shell ("c:\OggShell\oggenc --bitrate 500 c:\filename.wav"), vbHidehighlightSyntax('vbEzMzYx','vb');Короче вопрос такой: как убить процесс с именем oggenc.exe, который невидим в диспетчере приложений, но висит в процессах. Добавлено @ 15:58 Ну и сели кто знает как там вывести список всех процессов из Диспетчера Задач в текстовый файл, напишите. Так я сам думаю, что надо в таймер воткнуть инфу об активных процессах - одни запускаются, другие завершаются.

- Да и еще вот нашел в Инете примерчик я его упростил немножко, уж больно здоровый код получается: бросаем на форму две кнопочки butt1 - убить процесс, вторая - обновить информацию о процессах, два ListBox:Код Private Sub Command1_Click()    Call KillProc(prArray(List1.ListIndex).th32ProcessID)         DoEvents    Call Command2_Click    End SubPrivate Sub Command2_Click()    List1.Clear    Call Form_LoadEnd SubPrivate Sub Form_Load()    For i = 0 To GetProcess(prArray) - 1        Call List1.AddItem(prArray(i).szExeFile)    NextEnd SubPrivate Sub List1_Click()    Dim mArray() As MODULEENTRY32    List2.Clear    For i = 0 To GetProcessModule(mArray(), prArray(List1.ListIndex).th32ProcessID) - 1       Call List2.AddItem(mArray(i).szModule)    NextEnd SubhighlightSyntax('vbiNTlkM','vb');создаем модуль:Код Option ExplicitPrivate Declare Function Process32First Lib "kernel32" (ByVal hSnapshot As Long, uProcess As PROCESSENTRY32) As LongPrivate Declare Function Process32Next Lib "kernel32" (ByVal hSnapshot As Long, uProcess As PROCESSENTRY32) As LongPrivate Declare Function Module32First Lib "kernel32.dll" (ByVal hSnapshot As Long, ByRef lpme As MODULEENTRY32) As LongPrivate Declare Function Module32Next Lib "kernel32.dll" (ByVal hSnapshot As Long, ByRef lpme As MODULEENTRY32) As LongPrivate Declare Function OpenProcess Lib "kernel32" (ByVal dwDesiredAccess As Long, ByVal bInheritHandle As Long, ByVal dwProcessId As Long) As LongPrivate Declare Function TerminateProcess Lib "kernel32" (ByVal hProcess As Long, ByVal uExitCode As Long) As LongPrivate Declare Function GetExitCodeProcess Lib "kernel32.dll" (ByVal hProcess As Long, ByRef lpExitCode As Long) As LongPrivate Declare Function CreateToolhelpSnapshot Lib "kernel32" Alias "CreateToolhelp32Snapshot" (ByVal lFlags As Long, ByVal lProcessID As Long) As LongPrivate Declare Function GetModuleFileNameEx Lib "psapi.dll" (ByVal hProcess As Long, ByVal hModule As Long, ByVal lpFilename As String, ByVal nSize As Long) As LongPrivate Declare Function CloseHandle Lib "kernel32" (ByVal hPass As Long) As LongPrivate Declare Function AdjustTokenPrivileges Lib "advapi32.dll" (ByVal TokenHandle As Long, ByVal DisableAllPrivileges As Long, ByRef NewState As TOKEN_PRIVILEGES, ByVal BufferLength As Long, ByRef PreviousState As TOKEN_PRIVILEGES, ByRef ReturnLength As Long) As LongPrivate Declare Function GetCurrentProcess Lib "kernel32.dll" () As LongPrivate Declare Function GetLastError Lib "kernel32.dll" () As LongPrivate Declare Function LookupPrivilegeValue Lib "advapi32.dll" Alias "LookupPrivilegeValueA" (ByVal lpSystemName As String, ByVal lpName As String, lpLuid As LUID) As LongPrivate Declare Function OpenProcessToken Lib "advapi32.dll" (ByVal ProcessHandle As Long, ByVal DesiredAccess As Long, ByRef TokenHandle As Long) As LongPrivate Declare Function GetVersionEx Lib "kernel32.dll" Alias "GetVersionExA" (ByRef lpVersionInformation As OSVERSIONINFO) As LongPrivate Type OSVERSIONINFO    dwOSVersionInfoSize         As Long    dwMajorVersion              As Long    dwMinorVersion              As Long    dwBuildNumber               As Long    dwPlatformId                As Long    szCSDVersion                As String * 128 ' Maintenance string for PSS usageEnd TypePublic Type PROCESSENTRY32    dwSize                      As Long    cntUsage                    As Long    th32ProcessID               As Long    th32DefaultHeapID           As Long    th32ModuleID                As Long    cntThreads                  As Long    th32ParentProcessID         As Long    pcPriClassBase              As Long    dwFlags                     As Long    szExeFile                   As String * 260End TypePublic Type MODULEENTRY32    dwSize                      As Long    th32ModuleID                As Long    th32ProcessID               As Long    GlblcntUsage                As Long    ProccntUsage                As Long    modBaseAddr                 As Long    modBaseSize                 As Long    hModule                     As Long    szModule                    As String * 256    szExePath                   As String * 260End TypePrivate Type LUID    LowPart                     As Long    HighPart                    As LongEnd TypePrivate Type TOKEN_PRIVILEGES    PrivilegeCount              As Long    TheLuid                     As LUID    Attributes                  As LongEnd TypePrivate Const TOKEN_ADJUST_PRIVILEGES   As Long = &H20Private Const TOKEN_QUERY               As Long = &H8Private Const SE_PRIVILEGE_ENABLED      As Long = &H2Private Const SE_DEBUG_NAME             As String = "SeDebugPrivilege"Private Const VER_PLATFORM_WIN32_NT     As Long = 2Public Function GetProcess(outData() As PROCESSENTRY32) As Long    Dim hSnapshot As Long, uProcess As PROCESSENTRY32    hSnapshot = CreateToolhelpSnapshot(&H2, 0)    If hSnapshot = &HFFFF Then GetProcess = &HFFFF: Exit Function    uProcess.dwSize = Len(uProcess)    Call Process32First(hSnapshot, uProcess)         Do        ReDim Preserve outData(GetProcess)        With uProcess            .szExeFile = Left(.szExeFile, InStr(vbNull, .szExeFile, vbNullChar) - vbNull)        End With                 outData(GetProcess) = uProcess        uProcess.szExeFile = String(260, &H0)        GetProcess = GetProcess + vbNull    Loop While (Process32Next(hSnapshot, uProcess))    Call CloseHandle(hSnapshot)End FunctionPublic Sub KillProc(ID As Long)    Dim hProcess    As Long, _        lExitCode   As Long    Dim OSVER As OSVERSIONINFO    OSVER.dwOSVersionInfoSize = Len(OSVER)    Call GetVersionEx(OSVER)    If OSVER.dwPlatformId = VER_PLATFORM_WIN32_NT Then _    hProcess = OpenProcess(&H400 Or &H1, 0&, ID)        Call GetExitCodeProcess(hProcess, lExitCode)    Call TerminateProcess(hProcess, lExitCode)    Call CloseHandle(hProcess)    End IfEnd SubhighlightSyntax('vb4YTRmM','vb');Но это слишком гемморно, нужно что-то попроще.

- Естественно, ты же сам это и попросил!Код Ogg = App.ThreadIDhighlightSyntax('vbDBlYjE','vb');Попробуй так:Код Dim hShellProc&hShellProc=Shell("Твой путь")highlightSyntax('vbNDg0Y2','vb');Вот вырезка из MSDN:Runs an executable program and returns a Variant (Double) representing the program's task ID if successful, otherwise it returns zero.Т.е в hShellProc и будет искомый процесс.Разбери предыдущий код, там написано как убить процесс!

- Voldemar2004в твоем листинге все популярно написано...ну ладна, смотри:допустми pID у тебя уже есть, тогда получаем hProcess путем открытия его c необходимыми флагами:Код hProcess = OpenProcess(&H400 Or &H1, 0&, ID) ' ID - соответственно pIDhighlightSyntax('vbjEwNTI','vb');Убиваем процесс по полученному хэндлу:Код TerminateProcess(hProcess, 0)highlightSyntax('vbN2EyZD','vb');Освобождаем открытый хэндл:Код CloseHandle(hProcess)highlightSyntax('vbYzdhMm','vb');Вот и все!

- в General кидаем:Код Dim hShellProc As IntegerDim ID As IntegerPrivate Declare Function OpenProcess Lib "kernel32" (ByVal dwDesiredAccess As Long, ByVal bInheritHandle As Long, ByVal dwProcessId As Long) As LongPrivate Declare Function TerminateProcess Lib "kernel32" (ByVal hProcess As Long, ByVal uExitCode As Long) As LongPrivate Declare Function CloseHandle Lib "kernel32" (ByVal hPass As Long) As LonghighlightSyntax('vbI2MGM1','vb');кнопка запуска процесса:Код hShellProc = 'вызываем exe-шник: путь + имя.exeLabel1.Caption = "№ ПРОЦЕССА: " & hShellProchighlightSyntax('vblZjFkO','vb');Код 'кнопка убийства процессаID = hShellProchProcess = OpenProcess(&H400 Or &H1, 0&, ID)Call TerminateProcess(hProcess, 0)Call CloseHandle(hProcess)highlightSyntax('vbYWRjMD','vb'); Это сообщение отредактировал Voldemar2004 - 16.4.2005, 20:47

Интернет казино     Онлайн игры     Увеличение члена     Купить DVD


Главная страница | история развития программирования | компьютеры программирование | lg программирование | задачи квадратичного программирования | winapi программирование | программирование x | программирование djvu | программирование visual foxpro | wap программирования | xp программирование | классы программирование | программирование motorola | графы программирование | программирование атс panasonic | языки программирования развитие | линейное программирование лекции | фортран программирования | программирование драйверов windows | tcp программирование | программирование qbasic | программирование проблемы | примеры задач линейного программирования | параметрическое программирование | дельфи программирование | программирование мыши | Ссылки

Все про классы программирование