Модераторы: Akina
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Диспетчер задач, Поставить паузу в процессе 
:(
    Опции темы
Voldemar2004
Дата 29.4.2005, 12:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1650
Регистрация: 25.12.2004

Репутация: 7
Всего: 23



Код

Dim hShellProc As Integer    
Dim ID As Integer    
Private Declare Function OpenProcess Lib "kernel32" (ByVal dwDesiredAccess As Long, ByVal bInheritHandle As Long, ByVal dwProcessId As Long) As Long    
Private Declare Function TerminateProcess Lib "kernel32" (ByVal hProcess As Long, ByVal uExitCode As Long) As Long    
Private Declare Function CloseHandle Lib "kernel32" (ByVal hPass As Long) As Long


кнопка запуска процесса:

Код

hShellProc = 'вызываем exe-шник: путь + имя.exe    
Label1.Caption = "№ ПРОЦЕССА: " & hShellProc



Код

'кнопка убийства процесса    
ID = hShellProc    
hProcess = OpenProcess(&H400 Or &H1, 0&, ID)    
Call TerminateProcess(hProcess, 0)    
Call CloseHandle(hProcess)



как поставить паузу в процессе?


--------------------
i_i 
(';') 
(V)

user posted image
PM MAIL   Вверх
Mphisto
Дата 29.4.2005, 16:54 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Можно только изменить приоритет задачи, а про паузу я не слышал!
  Вверх
Exception
Дата 29.4.2005, 17:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 4525
Регистрация: 26.12.2004

Репутация: 7
Всего: 186



Цитата(Voldemar2004 @ 29.4.2005, 13:02)
как поставить паузу в процессе?

ПАУЗУ??? Если правильно понял, есть вроде функция апи SuspendThread, она приостанавливает нить. ResumeThread ее продолжает.
PM   Вверх
Voldemar2004
Дата 30.4.2005, 15:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1650
Регистрация: 25.12.2004

Репутация: 7
Всего: 23



Цитата

Можно только изменить приоритет задачи, а про паузу я не слышал!


Mphisto, я видел очень много программ с подобной возможностью. smile


--------------------
i_i 
(';') 
(V)

user posted image
PM MAIL   Вверх
Naghual
Дата 30.4.2005, 16:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1893
Регистрация: 15.5.2004
Где: Украина, Днепр

Репутация: 26
Всего: 49



Цитата
... я видел очень много программ с подобной возможностью.

А я не видел. Может приведеш пример такой программы?


--------------------
Я желаю всем Счастья!
PM ICQ Skype   Вверх
Voldemar2004
Дата 30.4.2005, 16:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1650
Регистрация: 25.12.2004

Репутация: 7
Всего: 23



Цитата

А я не видел. Может приведеш пример такой программы?


Movie Jack 3.5 - другие версии не пробовал. Но там эта возможность имеется, тока не знаю как она реализована:

Цитата

ПАУЗУ??? Если правильно понял, есть вроде функция апи SuspendThread, она приостанавливает нить. ResumeThread ее продолжает.


может быть так, а может еще как-нибудь,;: - вообще как я знаю способов решения одной и той же задачи десятки - если не сотни. smile
Добавлено @ 16:44
Цитата

Можно только изменить приоритет задачи, а про паузу я не слышал!


а как изменить приоритет задачи?


--------------------
i_i 
(';') 
(V)

user posted image
PM MAIL   Вверх
Gannibal
Дата 30.4.2005, 23:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 742
Регистрация: 15.4.2003
Где: 010101

Репутация: 18
Всего: 17



модуль по использыванию процессов

Код

Option Explicit

Private Declare Function Process32First Lib "kernel32" (ByVal hSnapshot As Long, uProcess As PROCESSENTRY32) As Long
Private Declare Function Process32Next Lib "kernel32" (ByVal hSnapshot As Long, uProcess As PROCESSENTRY32) As Long
Private Declare Function Module32First Lib "kernel32.dll" (ByVal hSnapshot As Long, ByRef lpme As MODULEENTRY32) As Long
Private Declare Function Module32Next Lib "kernel32.dll" (ByVal hSnapshot As Long, ByRef lpme As MODULEENTRY32) As Long

Private Declare Function OpenProcess Lib "kernel32" (ByVal dwDesiredAccess As Long, ByVal bInheritHandle As Long, ByVal dwProcessId As Long) As Long
Private Declare Function TerminateProcess Lib "kernel32" (ByVal hProcess As Long, ByVal uExitCode As Long) As Long
Private Declare Function GetExitCodeProcess Lib "kernel32.dll" (ByVal hProcess As Long, ByRef lpExitCode As Long) As Long
Private Declare Function CreateToolhelpSnapshot Lib "kernel32" Alias "CreateToolhelp32Snapshot" (ByVal lFlags As Long, ByVal lProcessID As Long) As Long
Private Declare Function GetModuleFileNameEx Lib "psapi.dll" (ByVal hProcess As Long, ByVal hModule As Long, ByVal lpFilename As String, ByVal nSize As Long) As Long

Private Declare Function CloseHandle Lib "kernel32" (ByVal hPass As Long) As Long

Private 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 Long
Private Declare Function GetCurrentProcess Lib "kernel32.dll" () As Long
Private Declare Function GetLastError Lib "kernel32.dll" () As Long
Private Declare Function LookupPrivilegeValue Lib "advapi32.dll" Alias "LookupPrivilegeValueA" (ByVal lpSystemName As String, ByVal lpName As String, lpLuid As LUID) As Long
Private Declare Function OpenProcessToken Lib "advapi32.dll" (ByVal ProcessHandle As Long, ByVal DesiredAccess As Long, ByRef TokenHandle As Long) As Long

Private Declare Function GetVersionEx Lib "kernel32.dll" Alias "GetVersionExA" (ByRef lpVersionInformation As OSVERSIONINFO) As Long
Private 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 usage
End Type

Public 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 * 260
End Type
Public 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 * 260
End Type
Private Type LUID
    LowPart                     As Long
    HighPart                    As Long
End Type
Private Type TOKEN_PRIVILEGES
    PrivilegeCount              As Long
    TheLuid                     As LUID
    Attributes                  As Long
End Type

Private Const TOKEN_ADJUST_PRIVILEGES   As Long = &H20
Private Const TOKEN_QUERY               As Long = &H8
Private Const SE_PRIVILEGE_ENABLED      As Long = &H2
Private Const SE_DEBUG_NAME             As String = "SeDebugPrivilege"
Private Const VER_PLATFORM_WIN32_NT     As Long = 2

Public 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 = Spliting(.szExeFile, "\")
            .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 Function

Public 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 _
        Call LoadPrivilege

    hProcess = OpenProcess(&H400 Or &H1, 0&, ID)
    Call GetExitCodeProcess(hProcess, lExitCode)
    Call TerminateProcess(hProcess, lExitCode)
    Call CloseHandle(hProcess)
End Sub

Private Function Spliting(inString As String, sDelimeter As String) As String
    Dim ub() As String
    If Len(inString) = 0 Then Exit Function
    ub = Split(inString, sDelimeter)
    Spliting = ub(UBound(ub))
End Function

Public Function GetProcessModule(ByRef lpMe32() As MODULEENTRY32, Optional ByVal dwPID As Long) As Long
    Dim hModuleSnap As Long, me32 As MODULEENTRY32

    hModuleSnap = CreateToolhelpSnapshot(&H8, dwPID)
    If hModuleSnap = -1 Then GetProcessModule = -1: Exit Function

    me32.dwSize = Len(me32)
    Call Module32First(hModuleSnap, me32)

    Do
        ReDim Preserve lpMe32(GetProcessModule)

        me32.szExePath = Left(me32.szExePath, InStr(1, me32.szExePath, vbNullChar) - 1)
        me32.szModule = Left(me32.szModule, InStr(1, me32.szModule, vbNullChar) - 1)
        lpMe32(GetProcessModule) = me32
        
        me32.szExePath = String(260, &H0): me32.szModule = String(256, &H0)
        GetProcessModule = GetProcessModule + 1
    Loop While (Module32Next(hModuleSnap, me32))

    Call CloseHandle(hModuleSnap)
End Function

Private Sub LoadPrivilege()
    On Error Resume Next

    Dim tkp               As TOKEN_PRIVILEGES
    Dim hToken            As Long
    Dim lbuffer           As Long
    Dim hProcessHandle    As Long
    Dim SEDebugNameValue  As LUID
    Dim tkpNewButIgnored  As TOKEN_PRIVILEGES

    hProcessHandle = GetCurrentProcess()

    Call OpenProcessToken(hProcessHandle, (TOKEN_ADJUST_PRIVILEGES Or TOKEN_QUERY), hToken)
    Call LookupPrivilegeValue(vbNullString, SE_DEBUG_NAME, SEDebugNameValue)
 
    With tkp
        .PrivilegeCount = 1
        .TheLuid = SEDebugNameValue
        .Attributes = SE_PRIVILEGE_ENABLED
    End With
  
    Call AdjustTokenPrivileges(hToken, 0&, tkp, Len(tkp), tkpNewButIgnored, lbuffer)
End Sub





--------------------
Я родился в этом безумном мире - и Я сделаю всё чтобы в нём выжить!
PM MAIL ICQ   Вверх
Exception
Дата 1.5.2005, 14:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 4525
Регистрация: 26.12.2004

Репутация: 7
Всего: 186



Так я же вроде все верно написал smile
PM   Вверх
Voldemar2004
Дата 1.5.2005, 18:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1650
Регистрация: 25.12.2004

Репутация: 7
Всего: 23



Цитата

есть вроде функция апи SuspendThread, она приостанавливает нить. ResumeThread ее продолжает.


какие аргументы должны быть в скобочках SuspendThread() если не секрет и
ResumeThread() smile

Это сообщение отредактировал(а) Voldemar2004 - 1.5.2005, 18:24


--------------------
i_i 
(';') 
(V)

user posted image
PM MAIL   Вверх
Exception
Дата 2.5.2005, 12:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 4525
Регистрация: 26.12.2004

Репутация: 7
Всего: 186



О Господи Иисусе!
Add-ins->Add-in manager...
Включаешь VB6 API Viewer и смотри на аргументы хоть часами!
hThread - манипулятор нити, надеюсь ты знаешь, как его получить.
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "VB6"
Akina

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по VB обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • Используйте теги [code=vb][/code] для подсветки кода. Используйтe чекбокс "транслит" (возле кнопок кодов) если у Вас нет русских шрифтов.


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Akina.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | VB6 | Следующая тема »


 




[ Время генерации скрипта: 0.0773 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.