请问DELPHI中怎么通过按钮运行一个应用程序?

请问DELPHI中怎么通过按钮运行一个应用程序?,第1张

你可以在按钮的onclick过各中利用windows提供的API函数:WinExec.这个函数的原型如下

函数原型

function

WinExec

external

kernel32

name

'WinExec'

function

WinExec(lpCmdLine:

LPCSTR

uCmdShow:

UINT):

UINT

stdcall

第一个参数为你要运行程序的全路径!

第二个参数是控制程序主窗口的显示方式

第二个参数可能的取值为

SW_HIDE

//程序启动后隐藏主窗口

SW_MAXIMIZE

//最大化运兆没乎行

SW_MINIMIZE

//最察毕小化运行

SW_RESTORE

//将最大化或最小化的窗口恢复正常

SW_SHOW

//以当前位置和大小显示主窗口

SW_SHOWMAXIMIZED

//激族悉活窗口并以最大化运行

SW_SHOWMINIMIZED

//激活窗口并以最小化运行

SW_SHOWMINNOACTIVE

//最小化运行,但不激活

SW_SHOWNOACTIVATE

//以上一次的窗口大小运行,但不激活

SW_SHOWNORMAL

//普通方式,一般运行时采用这个

一般情况下,第二个参数取SW_SHOWNORMAL即可,这样就是无参数

//创建DLL

library test

uses

dialogs,

SysUtils,

Classes

{$R *.res}

function My_Max(a,b:integer):integerstdcall

begin

if (a >b) then

result := a

else

result := b

end

exports My_Max

begin

end.

//调用开始

unit Unit11

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs,stdctrls

type

TForm1 = class(TForm)

Button1: TButton

procedure Button1Click(Sender: TObject)

private

{ Private declarations }

public

{ Public declarations }

end

var

Form1: TForm1

implementation

{$R *.dfm}

function My_Max(a,b:integer):integerstdcall

external 'E:\mypro\1019(3)\test.dll'

procedure TForm1.Button1Click(Sender: TObject)

begin

showmessage(inttostr(my_max(25,10)))

end

end.

调用时注意DLL里的函数是区返陵陪别大小写的,这点和DELPHI里的函数不太一样,如果调用的和DLL里的不一致,汪拆会报一个漏蠢无法定位程序输入点的错误。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12364814.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-24
下一篇 2023-05-24

发表评论

登录后才能评论

评论列表(0条)

保存