电子病历安装包

<p>电子病历安装包20190801日打包</p><p>&nbsp;包括后台维护安装</p><p>安装图片:</p><p><img src="/uploadfiles/1.png"/><img src="/uploadfiles/2.png"/><img src="/uploadfiles/3.png"/><img src="/uploadfiles/4.png"/><img src="/uploadfiles/5.png"/></p>
2019/7/16 11:56:33(zgc) 抢沙发(45) innoSetup
阅读全文

innosetup 安装前、卸载前判断是否有进程正在运行<转>

<pre class="brush:delphi;toolbar:false">[Code] //安装前判断是否有进程正在运行,istask.dll文件与打包的exe文件一起 function&nbsp;RunTask(FileName:&nbsp;string;&nbsp;bFullpath:&nbsp;Boolean):&nbsp;Boolean; external&nbsp;&#39;RunTask@files:ISTask.dll&nbsp;stdcall&nbsp;delayload&#39;; function&nbsp;KillTask(ExeFileName:&nbsp;string):&nbsp;Integer; external&nbsp;&#39;KillTask@files:ISTask.dll&nbsp;stdcall&nbsp;delayload&#39;; function&nbsp;InitializeSetup():&nbsp;Boolean; begin &nbsp;&nbsp;Result:=&nbsp;true; &nbsp;&nbsp;if&nbsp;RunTask(&#39;{#MyAppExeName}&#39;,&nbsp;false)&nbsp;then &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;begin &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;MsgBox(&#39;安装程序检测到&nbsp;{#MyAppName}&nbsp;正在运行!&#39;#13&#39;&#39;#13&#39;单击“是”按钮关闭程序并继续安装;&#39;#13&#39;&#39;#13&#39;单击“否”按钮退出安装!&#39;,&nbsp;mbConfirmation,&nbsp;MB_YESNO)&nbsp;=&nbsp;IDYES&nbsp;then &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;begin &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;KillTask(&#39;{#MyAppExeName}&#39;); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Result:=&nbsp;true; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;end &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Result:=&nbsp;false; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;end &nbsp;&nbsp;else&nbsp;Result:=&nbsp;true; end; &nbsp; //&nbsp;卸载前判断进程是否在运行 function&nbsp;RunTaskU(FileName:&nbsp;string;&nbsp;bFullpath:&nbsp;Boolean):&nbsp;Boolean; &nbsp;&nbsp;external&nbsp;&#39;RunTask@{app}/ISTask.dll&nbsp;stdcall&nbsp;delayload&nbsp;uninstallonly&#39;; function&nbsp;KillTaskU(ExeFileName:&nbsp;string):&nbsp;Integer; &nbsp;&nbsp;external&nbsp;&#39;KillTask@{app}/ISTask.dll&nbsp;stdcall&nbsp;delayload&nbsp;uninstallonly&#39;; function&nbsp;InitializeUninstall():&nbsp;Boolean; &nbsp;&nbsp;begin &nbsp;&nbsp;&nbsp;&nbsp;Result:=&nbsp;true; &nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;RunTaskU(&#39;{#MyAppExeName}&#39;,&nbsp;false)&nbsp;then &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;begin &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;MsgBox(&#39;卸载程序检测到&nbsp;{#MyAppName}&nbsp;正在运行!&#39;#13&#39;&#39;#13&#39;单击“是”按钮关闭程序并继续卸载;&#39;#13&#39;&#39;#13&#39;单击“否”按钮退出卸载!&#39;,&nbsp;mbConfirmation,&nbsp;MB_YESNO)&nbsp;=&nbsp;IDYES&nbsp;then &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;begin &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;KillTaskU(&#39;{#MyAppExeName}&#39;); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Result:=&nbsp;true; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;end &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Result:=&nbsp;false; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;end &nbsp;&nbsp;&nbsp;&nbsp;else &nbsp;&nbsp;&nbsp;&nbsp;Result:=&nbsp;true; &nbsp;&nbsp;&nbsp;&nbsp;UnloadDll(ExpandConstant(&#39;{app}/ISTask.dll&#39;)); &nbsp;&nbsp;end;</pre><p style="box-sizing: border-box; margin: 10px auto;">转:https://blog.csdn.net/dsp_daiyujie/article/details/11945871</p><p><br/></p>
2019/4/16 19:10:02(zgc) 抢沙发(45) innoSetup
阅读全文

inno 添加按钮和链接

<pre class="brush:delphi;toolbar:false">;先定义 #define&nbsp;appUrl&nbsp; procedure&nbsp;URLLabelOnClick(Sender:&nbsp;TObject); var &nbsp;&nbsp;ErrorCode:&nbsp;Integer; begin &nbsp;&nbsp;ShellExec(&#39;open&#39;,&nbsp;&#39;{#appurl}&#39;,&nbsp;&#39;&#39;,&nbsp;&#39;&#39;,&nbsp;SW_SHOWNORMAL,&nbsp;ewNoWait,&nbsp;ErrorCode); end; procedure&nbsp;AboutButtonOnClick(Sender:&nbsp;TObject); begin &nbsp;&nbsp;MsgBox(&#39;Èí¼þ¿ª·¢&nbsp;zhenggc^&#39;#13#10&nbsp;&#39;{#appurl}&#39;&nbsp;&nbsp;&nbsp;,&nbsp;mbInformation,&nbsp;MB_OK); //这是关于按钮里面的内容&nbsp;#13#10是换行的意思 end; procedure&nbsp;InitializeWizard(); var f:string; &nbsp;ErrorCode:&nbsp;Integer; begin &nbsp;&nbsp;RedesignWizardForm; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;WizardForm.PAGENAMELABEL.Font.Color:=&nbsp;clred; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;WizardForm.PAGEDESCRIPTIONLABEL.Font.Color:=&nbsp;clBlue; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;WizardForm.WelcomeLabel1.Font.Color:=&nbsp;clNavy; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;WizardForm.WelcomeLabel2.Font.Color:=&nbsp;clTeal; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CancelButton&nbsp;:=&nbsp;WizardForm.CancelButton; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;AboutButton&nbsp;:=&nbsp;TButton.Create(WizardForm); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;AboutButton.Left&nbsp;:=&nbsp;WizardForm.ClientWidth&nbsp;-&nbsp;CancelButton.Left&nbsp;-&nbsp;CancelButton.Width; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;AboutButton.Top&nbsp;:=&nbsp;CancelButton.Top; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;AboutButton.Width&nbsp;:=&nbsp;CancelButton.Width; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;AboutButton.Height&nbsp;:=&nbsp;CancelButton.Height; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;AboutButton.Caption&nbsp;:=&nbsp;&#39;关于&#39;; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;AboutButton.OnClick&nbsp;:=&nbsp;@AboutButtonOnClick; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;AboutButton.Parent&nbsp;:=&nbsp;WizardForm; &nbsp;&nbsp;&nbsp;&nbsp;URLLabel&nbsp;:=&nbsp;TNewStaticText.Create(WizardForm); &nbsp;&nbsp;&nbsp;&nbsp;URLLabel.Caption&nbsp;:=&nbsp;&#39;作者&#39;; &nbsp;&nbsp;&nbsp;&nbsp;URLLabel.Cursor&nbsp;:=&nbsp;crHand; &nbsp;&nbsp;&nbsp;&nbsp;URLLabel.OnClick&nbsp;:=&nbsp;@URLLabelOnClick; &nbsp;&nbsp;&nbsp;&nbsp;URLLabel.Parent&nbsp;:=&nbsp;WizardForm; &nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;Alter&nbsp;Font&nbsp;*after*&nbsp;setting&nbsp;Parent&nbsp;so&nbsp;the&nbsp;correct&nbsp;defaults&nbsp;are&nbsp;inherited&nbsp;first&nbsp;} &nbsp;&nbsp;&nbsp;&nbsp;URLLabel.Font.Style&nbsp;:=&nbsp;URLLabel.Font.Style&nbsp;+&nbsp;[fsUnderline]; &nbsp;&nbsp;&nbsp;&nbsp;URLLabel.Font.Color&nbsp;:=&nbsp;clBlue; &nbsp;&nbsp;&nbsp;&nbsp;URLLabel.Top&nbsp;:=&nbsp;AboutButton.Top&nbsp;+&nbsp;AboutButton.Height&nbsp;-&nbsp;URLLabel.Height&nbsp;-&nbsp;2; &nbsp;&nbsp;&nbsp;&nbsp;URLLabel.Left&nbsp;:=&nbsp;AboutButton.Left&nbsp;+&nbsp;AboutButton.Width&nbsp;+&nbsp;ScaleX(20); &nbsp;&nbsp;&nbsp;&nbsp;urllabel.showhint&nbsp;:=true; &nbsp;&nbsp;&nbsp;&nbsp;urllabel.hint&nbsp;:=&#39;点击访问作者网站&#39;; end;</pre><p>&nbsp;</p>
2019/4/16 11:40:11(zgc) 抢沙发(1) innoSetup
阅读全文
1/1, 3«1»
执行时间 0.0991 秒(s), 10 个查询