Главная страница
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.48 MB
Время: 0.01 c
1-95736
unfam
2002-08-19 03:19
2002.08.29
PChar(продолжение)


3-95665
dim-
2002-08-05 22:28
2002.08.29
Проблемы с DataSet и MDI формой


4-96022
HighWay
2002-06-25 20:13
2002.08.29
Как вызвать событие в другом приложении?


14-95947
TTCustomDelphiMaster
2002-08-03 16:09
2002.08.29
Проблема с XP


1-95819
ivanVV
2002-08-16 22:13
2002.08.29
Работа с ini файлом