Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.08.29;
Скачать: CL | DM;

Вниз

чужая прога   Найти похожие ветки 

 
SeF   (2002-06-27 02:46) [0]

Здраствуйте Мастера, подскажите/направте_где_копать.
Проблема: есть запущенная программа, известен Handle,
необходимо: кинуть её в suspensed и назад.
вопрос: как???


 
SEF   (2002-06-27 02:47) [1]

P.S. запущена не мной....


 
Proton   (2002-06-27 08:41) [2]

GetWindowThreadProcessId
+
SuspendThread


 
SeF   (2002-06-27 20:45) [3]

PLZ пример кода, т.к. необходимо скоро отдовать, а на изыскания нет времени.
Спасибо!


 
Proton   (2002-06-27 22:53) [4]

Вот пример - винамп просто зависал.
а ввобще если самому думать лень то может покупать у кого нибудь.
Советом всегда пожалуйста, но код - денег стоит.
так что засунь для передачи мне по виртуальному порту 100 бакстов в щель между вторым и третьим рядом клавиатуры. Только не ошибись а то опять деньги к rhf уйдут. :)
unit Unit1;

interface

uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, proclist;

type
TForm1 = class(TForm)
Button1: TButton;
Button2: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
hInstallThead : thandle;
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.DFM}

function InstallThead(Parameter: Pointer): Integer; stdcall;
begin
while true do ;
result := 0;
end;

procedure TForm1.Button1Click(Sender: TObject);
var i:integer;
thid:dword;
begin
i:= findwindow("Winamp v1.x",nil);
//ShowMessage(inttostr(i));
GetWindowThreadProcessId(i,@i);
//ShowMessage(inttostr(i));
i:= OpenProcess(PROCESS_SET_INFORMATION,false,i);
//ShowMessage(inttostr(i));
SetPriorityClass(i,IDLE_PRIORITY_CLASS);
if hInstallThead = 0 then
begin
hInstallThead := CreateThread(nil,0,@InstallThead,nil,CREATE_SUSPENDED,thid);
SetThreadPriority(hInstallThead,THREAD_PRIORITY_BELOW_NORMAL);
ResumeThread(hInstallThead);
end;
end;

procedure TForm1.Button2Click(Sender: TObject);
var i:integer;
begin
i:= findwindow("Winamp v1.x",nil);
//ShowMessage(inttostr(i));
GetWindowThreadProcessId(i,@i);
//ShowMessage(inttostr(i));
i:= OpenProcess(PROCESS_SET_INFORMATION,false,i);
//ShowMessage(inttostr(i));
SetPriorityClass(i,NORMAL_PRIORITY_CLASS);
if hInstallThead <> 0 then
if TerminateThread(hInstallThead,0) then
begin
hInstallThead := 0;
ShowMessage(": ) Uups i did it again");
end;
end;

end.



Страницы: 1 вся ветка

Текущий архив: 2002.08.29;
Скачать: CL | DM;

Наверх




Память: 0.45 MB
Время: 0.005 c
14-95980
Aga
2002-08-03 07:55
2002.08.29
ip


3-95647
BJValentine
2002-08-07 17:35
2002.08.29
ADO


6-95920
niko4543
2002-06-17 22:18
2002.08.29
Gator


3-95632
j_onion
2002-08-06 04:09
2002.08.29
Перенос BDE


1-95831
XPatriot
2002-08-16 17:21
2002.08.29
Работа со строками





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский