| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3161 人关注过本帖
标题:求助,插入一行代码后提示多了个分号,删除分号后又无法运行
取消只看楼主 加入收藏
s912360101
Rank: 3Rank: 3
来 自:山西
等 级:论坛游侠
帖 子:168
专家分:147
注 册:2009-3-15
结帖率:85%
收藏
 问题点数:0 回复次数:1 
求助,插入一行代码后提示多了个分号,删除分号后又无法运行
直接上代码

---
program Project1;

uses
    Windows,
  Messages,
  SysUtils,
  Tlhelp32,
  forms,
  Dialogs,
  shellapi;

{$R *.res}

function EndProcess(ExeFileName:string):integer;
const
  PROCESS_TERMINATE = $0001;
var
  ContinueLoop: BOOLean;
  FSnapshotHandle: THandle;
  FProcessEntry32:TProcessEntry32;
begin
  Result := 0;
  FSnapshotHandle := CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
  FProcessEntry32.dwSize := SizeOf(FProcessEntry32);
  ContinueLoop := Process32First(FSnapshotHandle, 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;   
  CloseHandle(FSnapshotHandle);
end;

function DeleteDirectory(NowPath: string): Boolean; // 删除整个目录
var
  search: TSearchRec;
  ret: integer;
  key: string;
begin
  if NowPath[Length(NowPath)] <> '\' then
    NowPath := NowPath + '\';
  key := NowPath + '*.*';
  ret := findFirst(key, faanyfile, search);
  while ret = 0 do
  begin
    if ((search.Attr and fadirectory) = fadirectory) then
    begin
      if (search.Name <> '.') and (search.name <> '..') then
        DeleteDirectory(NowPath + search.name);
    end
    else
    begin
      if ((search.Attr and fadirectory) <> fadirectory) then
      begin
        deletefile(NowPath + search.name);
      end;
    end;
    ret := FindNext(search);
  end;
  findClose(search);
  //removedir(NowPath); 如果需要删除文件夹则添加
  result := True;
end;

begin
  if Endprocess('BUBMAIN.exe') <> 0 then
      // DeleteDirectory('D:\QQMusicCache\WhirlCache');//(我想加入这行代码,但是加入后无法运行。百度了一对说是没多‘;’删除分号后又不能用,困扰一下午求解)
      ShellExecute(0, 'open', PChar('C:\Program Files\ABB Industrial IT\Freelance\exe\BUBMAIN.EXE'), nil, nil, SW_SHOW)
  else
    showmessage('fail');
end.
----
如果是写成这样就可运行
begin
  Endprocess('BUBMAIN.exe');
  sleep(3000);
  DeleteDirectory('D:\QQMusicCache\WhirlCache');
  ShellExecute(0, 'open', PChar('C:\Program Files\ABB Industrial IT\Freelance\exe\BUBMAIN.EXE'), nil, nil, SW_SHOW);
end.

[ 本帖最后由 s912360101 于 2014-5-11 18:27 编辑 ]
搜索更多相关主题的帖子: Windows function 
2014-05-11 18:23
s912360101
Rank: 3Rank: 3
来 自:山西
等 级:论坛游侠
帖 子:168
专家分:147
注 册:2009-3-15
收藏
得分:0 
已经解决了。还是用法错了。本人太水了。
begin
   if Endprocess('BUBMAIN.exe') <> 0 then
    begin
      DeleteDirectory('D:\QQMusicCache\WhirlCache');//
      ShellExecute(0, 'open', PChar('C:\Program Files\ABB Industrial IT\Freelance\exe\BUBMAIN.EXE'), nil, nil, SW_SHOW);
    end
  else
    showmessage('fail');
end.

[ 本帖最后由 s912360101 于 2014-5-11 19:29 编辑 ]

孤独是一个人的狂欢
2014-05-11 19:24
快速回复:求助,插入一行代码后提示多了个分号,删除分号后又无法运行
数据加载中...
 
   



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

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