杉宫竹苑工作室

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 2198|回复: 0

INNO获取当前进程名称并可修改扩展名函数

[复制链接]
发表于 2017-3-6 17:04:26 | 显示全部楼层 |阅读模式

正式会员享受无限制浏览网站功能和高速网盘下载,赶快加入本站吧!

您需要 登录 才可以下载或查看,没有账号?立即注册

x
有时候你检测进程后要结束自己的安装程序,你用固定的名称那是不行的,别人修改了安装程序名称就无效了
  1. ; QYC
  2. ; http://www.abbeydawn.com.cn
  3. [code]
  4. var
  5.    filenameEnd : Integer;
  6.    jcfilename    : String;
  7.    lpFilename  : LPTSTR;
  8.    jj: Integer;
  9. const
  10.    MAX_LENGTH   = 255;

  11. function BackslashToSlash(const S: String): String;
  12. var
  13.   I: Integer;
  14.   II: Integer;
  15.   cd: Integer;
  16. begin
  17.   //修改EXE为tmp
  18.   Result := S;
  19.   cd := Length(Result)
  20.   if Result[cd] = 'e' then
  21.   Result[cd] := 'p'
  22.   I := cd - 1;
  23.   if Result[I] = 'x' then
  24.   Result[I] := 'm'
  25.   I := cd - 2;
  26.   if  Result[I] = 'e' then
  27.   Result[I] := 't';
  28.   //---------获取最后一个'\'位数是在第几位----------------------------
  29.   II := 1;
  30.   while II <= Length(Result) do
  31.   begin
  32.     if Result[II] = '\' then
  33.     begin
  34.     jj :=  II
  35.     end;
  36.     // Go to the next character. But do not simply increment I by 1.
  37.     // Increment by CharLength() in case Result[I] is a double-byte character.
  38.     II := II + CharLength(Result, II);
  39.   end;
  40.   //-------------------------------------
  41. end;


  42. procedure InitializeWizard();
  43. begin
  44.   // Show path of Common Files with backslashes changed to forward slashes
  45. lpFilename := BackslashToSlash(ExpandConstant('{srcexe}'));   //获取当前进程全路径
  46. SetLength(lpFilename, MAX_LENGTH);
  47. filenameEnd := Pos(#0, lpFilename);
  48. jcfilename := Copy(lpFilename, jj + 1 , filenameEnd - 1);  //jcfilename就是你所需要的进程文件名

  49. MsgBox(jcfilename, mbInformation, MB_OK); //显示给你看下
  50. end;
复制代码


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|手机版|Archiver|SgzyStudio

GMT+8, 2024-5-19 16:54 , Processed in 0.105620 second(s), 22 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表