<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
<channel>
<title><![CDATA[个人博客]]></title>
<link><![CDATA[http://zhenggc.cc/]]></link>
<description><![CDATA[创造机会的人是勇者；等待机会的人是愚者]]></description>
<language><![CDATA[]]></language>
<copyright><![CDATA[Copyright 个人博客]]></copyright>
<webMaster><![CDATA[zgc123@gmail.com]]></webMaster>
<generator><![CDATA[QBlog v1.4.0]]></generator>
<image>
	<title><![CDATA[个人博客]]></title>
	<url><![CDATA[http://zhenggc.cc/Common/Images/Logo.png]]></url>
	<link><![CDATA[http://zhenggc.cc/]]></link>
	<description><![CDATA[创造机会的人是勇者；等待机会的人是愚者]]></description>
</image>
<item>
	<link><![CDATA[http://zhenggc.cc/article/24.aspx]]></link>
	<title><![CDATA[电子病历安装包]]></title>
	<author><![CDATA[zgc]]></author>
	<category><![CDATA[innoSetup]]></category>
	<pubDate>2019/7/16 11:56:33</pubDate>
	<guid><![CDATA[http://zhenggc.cc/article/24.aspx]]></guid>
	<description><![CDATA[&lt;p&gt;电子病历安装包20190801日打包&lt;/p&gt;&lt;p&gt;&amp;nbsp;包括后台维护安装&lt;/p&gt;&lt;p&gt;安装图片：&lt;/p&gt;&lt;p&gt;&lt;img src=&quot;/uploadfiles/1.png&quot;/&gt;&lt;img src=&quot;/uploadfiles/2.png&quot;/&gt;&lt;img src=&quot;/uploadfiles/3.png&quot;/&gt;&lt;img src=&quot;/uploadfiles/4.png&quot;/&gt;&lt;img src=&quot;/uploadfiles/5.png&quot;/&gt;&lt;/p&gt;]]></description>
</item>
<item>
	<link><![CDATA[http://zhenggc.cc/article/15.aspx]]></link>
	<title><![CDATA[innosetup 安装前、卸载前判断是否有进程正在运行<转>]]></title>
	<author><![CDATA[zgc]]></author>
	<category><![CDATA[innoSetup]]></category>
	<pubDate>2019/4/16 19:10:02</pubDate>
	<guid><![CDATA[http://zhenggc.cc/article/15.aspx]]></guid>
	<description><![CDATA[&lt;pre class=&quot;brush:delphi;toolbar:false&quot;&gt;[Code]

//安装前判断是否有进程正在运行，istask.dll文件与打包的exe文件一起
function&amp;nbsp;RunTask(FileName:&amp;nbsp;string;&amp;nbsp;bFullpath:&amp;nbsp;Boolean):&amp;nbsp;Boolean;
external&amp;nbsp;&amp;#39;RunTask@files:ISTask.dll&amp;nbsp;stdcall&amp;nbsp;delayload&amp;#39;;
function&amp;nbsp;KillTask(ExeFileName:&amp;nbsp;string):&amp;nbsp;Integer;
external&amp;nbsp;&amp;#39;KillTask@files:ISTask.dll&amp;nbsp;stdcall&amp;nbsp;delayload&amp;#39;;

function&amp;nbsp;InitializeSetup():&amp;nbsp;Boolean;
begin
&amp;nbsp;&amp;nbsp;Result:=&amp;nbsp;true;
&amp;nbsp;&amp;nbsp;if&amp;nbsp;RunTask(&amp;#39;{#MyAppExeName}&amp;#39;,&amp;nbsp;false)&amp;nbsp;then
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;begin
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;MsgBox(&amp;#39;安装程序检测到&amp;nbsp;{#MyAppName}&amp;nbsp;正在运行！&amp;#39;#13&amp;#39;&amp;#39;#13&amp;#39;单击“是”按钮关闭程序并继续安装；&amp;#39;#13&amp;#39;&amp;#39;#13&amp;#39;单击“否”按钮退出安装！&amp;#39;,&amp;nbsp;mbConfirmation,&amp;nbsp;MB_YESNO)&amp;nbsp;=&amp;nbsp;IDYES&amp;nbsp;then
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;begin
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;KillTask(&amp;#39;{#MyAppExeName}&amp;#39;);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Result:=&amp;nbsp;true;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;end
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;else
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Result:=&amp;nbsp;false;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;end
&amp;nbsp;&amp;nbsp;else&amp;nbsp;Result:=&amp;nbsp;true;
end;

&amp;nbsp;

//&amp;nbsp;卸载前判断进程是否在运行
function&amp;nbsp;RunTaskU(FileName:&amp;nbsp;string;&amp;nbsp;bFullpath:&amp;nbsp;Boolean):&amp;nbsp;Boolean;
&amp;nbsp;&amp;nbsp;external&amp;nbsp;&amp;#39;RunTask@{app}/ISTask.dll&amp;nbsp;stdcall&amp;nbsp;delayload&amp;nbsp;uninstallonly&amp;#39;;
function&amp;nbsp;KillTaskU(ExeFileName:&amp;nbsp;string):&amp;nbsp;Integer;
&amp;nbsp;&amp;nbsp;external&amp;nbsp;&amp;#39;KillTask@{app}/ISTask.dll&amp;nbsp;stdcall&amp;nbsp;delayload&amp;nbsp;uninstallonly&amp;#39;;

function&amp;nbsp;InitializeUninstall():&amp;nbsp;Boolean;
&amp;nbsp;&amp;nbsp;begin
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Result:=&amp;nbsp;true;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;RunTaskU(&amp;#39;{#MyAppExeName}&amp;#39;,&amp;nbsp;false)&amp;nbsp;then
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;begin
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;MsgBox(&amp;#39;卸载程序检测到&amp;nbsp;{#MyAppName}&amp;nbsp;正在运行！&amp;#39;#13&amp;#39;&amp;#39;#13&amp;#39;单击“是”按钮关闭程序并继续卸载；&amp;#39;#13&amp;#39;&amp;#39;#13&amp;#39;单击“否”按钮退出卸载！&amp;#39;,&amp;nbsp;mbConfirmation,&amp;nbsp;MB_YESNO)&amp;nbsp;=&amp;nbsp;IDYES&amp;nbsp;then
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;begin
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;KillTaskU(&amp;#39;{#MyAppExeName}&amp;#39;);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Result:=&amp;nbsp;true;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;end
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;else
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Result:=&amp;nbsp;false;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;end
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;else
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Result:=&amp;nbsp;true;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;UnloadDll(ExpandConstant(&amp;#39;{app}/ISTask.dll&amp;#39;));

&amp;nbsp;&amp;nbsp;end;&lt;/pre&gt;&lt;p style=&quot;box-sizing: border-box; margin: 10px auto;&quot;&gt;转：https://blog.csdn.net/dsp_daiyujie/article/details/11945871&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;]]></description>
</item>
<item>
	<link><![CDATA[http://zhenggc.cc/article/14.aspx]]></link>
	<title><![CDATA[inno 添加按钮和链接]]></title>
	<author><![CDATA[zgc]]></author>
	<category><![CDATA[innoSetup]]></category>
	<pubDate>2019/4/16 11:40:11</pubDate>
	<guid><![CDATA[http://zhenggc.cc/article/14.aspx]]></guid>
	<description><![CDATA[&lt;pre class=&quot;brush:delphi;toolbar:false&quot;&gt;；先定义
#define&amp;nbsp;appUrl&amp;nbsp;
procedure&amp;nbsp;URLLabelOnClick(Sender:&amp;nbsp;TObject);
var
&amp;nbsp;&amp;nbsp;ErrorCode:&amp;nbsp;Integer;
begin
&amp;nbsp;&amp;nbsp;ShellExec(&amp;#39;open&amp;#39;,&amp;nbsp;&amp;#39;{#appurl}&amp;#39;,&amp;nbsp;&amp;#39;&amp;#39;,&amp;nbsp;&amp;#39;&amp;#39;,&amp;nbsp;SW_SHOWNORMAL,&amp;nbsp;ewNoWait,&amp;nbsp;ErrorCode);
end;
procedure&amp;nbsp;AboutButtonOnClick(Sender:&amp;nbsp;TObject);
begin
&amp;nbsp;&amp;nbsp;MsgBox(&amp;#39;&#200;&#237;&#188;&#254;&#191;&#170;&#183;&#162;&amp;nbsp;zhenggc^&amp;#39;#13#10&amp;nbsp;&amp;#39;{#appurl}&amp;#39;&amp;nbsp;&amp;nbsp;&amp;nbsp;,&amp;nbsp;mbInformation,&amp;nbsp;MB_OK);
//这是关于按钮里面的内容&amp;nbsp;#13#10是换行的意思
end;
procedure&amp;nbsp;InitializeWizard();
var
f:string;
&amp;nbsp;ErrorCode:&amp;nbsp;Integer;
begin
&amp;nbsp;&amp;nbsp;RedesignWizardForm;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;WizardForm.PAGENAMELABEL.Font.Color:=&amp;nbsp;clred;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;WizardForm.PAGEDESCRIPTIONLABEL.Font.Color:=&amp;nbsp;clBlue;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;WizardForm.WelcomeLabel1.Font.Color:=&amp;nbsp;clNavy;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;WizardForm.WelcomeLabel2.Font.Color:=&amp;nbsp;clTeal;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;CancelButton&amp;nbsp;:=&amp;nbsp;WizardForm.CancelButton;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;AboutButton&amp;nbsp;:=&amp;nbsp;TButton.Create(WizardForm);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;AboutButton.Left&amp;nbsp;:=&amp;nbsp;WizardForm.ClientWidth&amp;nbsp;-&amp;nbsp;CancelButton.Left&amp;nbsp;-&amp;nbsp;CancelButton.Width;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;AboutButton.Top&amp;nbsp;:=&amp;nbsp;CancelButton.Top;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;AboutButton.Width&amp;nbsp;:=&amp;nbsp;CancelButton.Width;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;AboutButton.Height&amp;nbsp;:=&amp;nbsp;CancelButton.Height;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;AboutButton.Caption&amp;nbsp;:=&amp;nbsp;&amp;#39;关于&amp;#39;;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;AboutButton.OnClick&amp;nbsp;:=&amp;nbsp;@AboutButtonOnClick;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;AboutButton.Parent&amp;nbsp;:=&amp;nbsp;WizardForm;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;URLLabel&amp;nbsp;:=&amp;nbsp;TNewStaticText.Create(WizardForm);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;URLLabel.Caption&amp;nbsp;:=&amp;nbsp;&amp;#39;作者&amp;#39;;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;URLLabel.Cursor&amp;nbsp;:=&amp;nbsp;crHand;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;URLLabel.OnClick&amp;nbsp;:=&amp;nbsp;@URLLabelOnClick;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;URLLabel.Parent&amp;nbsp;:=&amp;nbsp;WizardForm;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&amp;nbsp;Alter&amp;nbsp;Font&amp;nbsp;*after*&amp;nbsp;setting&amp;nbsp;Parent&amp;nbsp;so&amp;nbsp;the&amp;nbsp;correct&amp;nbsp;defaults&amp;nbsp;are&amp;nbsp;inherited&amp;nbsp;first&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;URLLabel.Font.Style&amp;nbsp;:=&amp;nbsp;URLLabel.Font.Style&amp;nbsp;+&amp;nbsp;[fsUnderline];
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;URLLabel.Font.Color&amp;nbsp;:=&amp;nbsp;clBlue;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;URLLabel.Top&amp;nbsp;:=&amp;nbsp;AboutButton.Top&amp;nbsp;+&amp;nbsp;AboutButton.Height&amp;nbsp;-&amp;nbsp;URLLabel.Height&amp;nbsp;-&amp;nbsp;2;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;URLLabel.Left&amp;nbsp;:=&amp;nbsp;AboutButton.Left&amp;nbsp;+&amp;nbsp;AboutButton.Width&amp;nbsp;+&amp;nbsp;ScaleX(20);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;urllabel.showhint&amp;nbsp;:=true;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;urllabel.hint&amp;nbsp;:=&amp;#39;点击访问作者网站&amp;#39;;
end;&lt;/pre&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;]]></description>
</item>
</channel>
</rss>