http://zhidao.baidu.com/link?url=2UL1LkSMfit9brlq3OnEdPZmtgOSL7lp4glf4MwRc7tHTjuHPobm6MIv20N0WgznBZ6woTwH_NdS5MCHQ7J7Oq

delphi点击按钮执行

举报|2009-09-03 23:54lxysnu | 浏览 1441 次
delphi 点击一个按钮执行 regsvr32 /u nvcpl.dll  这句代码 要怎么写
或者一个按钮执行一个批处理?本人刚刚学这个。请教一下 

我要调用的不是系统自带的。
Winexec(pchar('c:\windows\system32\clac.exe'),SW_SHOW); 这句可以改 但是会跳出一个组件注册成功的对话框,能否改改为自己需要的话

我是要执行代码,不是把代码写入memo1
 
2009-09-04 12:57 提问者采纳
 
在button的click事件中写
Winexec('regsvr32 /u nvcpl.dll -s ',SW_HIDE);
就没有注册成功的对话框了
提问者评价
谢谢哦 这个简单又适用!!也谢谢其它几位朋友
评论 7 0

为您推荐:

其他3条回答

2009-09-04 00:22zjwoshi | 五级
用Winexec,就两个参数.
比如我要打开calc
Winexec(pchar('c:\windows\system32\clac.exe'),SW_HIDE);
或者是
Winexec(pchar('c:\windows\system32\clac.exe'),SW_SHOW);
大概思路就是这样.
调用 regsvr32 /u nvcpl.dll 应该也差不多吧.
自己多练习下.
评论 0 0
2009-09-04 00:44yflzqy | 三级
uses Shellapi
1.放一个MEMO 
2.MEMO.LINES.ADD('regsvr32 /u nvcpl.dll');
3.MEMO.LINES.SAVETOFILE('D:\BB.BAT');
4.ShellExecute(0, nil, PChar('D:\BB.BAT'), nil, nil, SW_NORMAL);
5.拿分来。
评论 0 0
2009-09-04 08:41TheFiend | 十一级
Winexec('regsvr32 /u nvcpl.dll ',SW_HIDE);
弹出来那个对话没有办法,系统自带的.除非cbt或者shell钩子

如果不用regsvr32 命令可以避免这个对话框.
先loadlibary()你这个dll,然后再GetProcAddress获得DllRegisterServer的地址,然后运行这个函数.ok.就会有框框出来了.
下面这段的代码在家里面.有空发给你