请教:如何在VB的按钮控件中,调用.exe文件?
本人是一VB初学者,想请问:如何才能够在按钮控件中,调用可执行文件.exe,其功能就是当我一点击按钮时,程序就自动运行我所要调用的.exe文件,执行其功能?还请高人指教!小弟在此谢过!
http://bbs.bccn.net/viewthread.php?tid=105604&highlight=vb%2B%B5%F7%D3%C3
http://bbs.bccn.net/viewthread.php?tid=111022&highlight=vb%2B%B5%F7%D3%C3
。。。
提问前先搜索,这是美德。看过论坛置顶帖吗?看看吧。 好想是用shell函数吧 Private Sub Command3_Click()
Shell "rundll32.exe url.dll,FileProtocolHandler " & App.Path & "\xj7.exe", vbMaximizedFocus
End Sub
更详细内容请见:http://bbs.bccn.net/thread-203505-4-1.html
(2)相邻exe工程之间的转接; 谢谢大家的指点,但是现在又出现了一个问题,
shell "f:/adfs.exe",我自己做了实验,感觉这样只能调用磁盘下面的直接路径,但是如果我想调用更深一级的路径,也就是说在磁盘下再建一个文件夹,则调用就不成功!
如:shell "f:/aaa/adfs.exe",即在F盘下建了个名为aaa的文件夹,这样.exe文件则未被成功调用,则此种情况该怎么办,请大侠指点!!!谢谢 开始|运行 “f:/aaa/adfs.exe”
能运行否? Shell "rundll32.exe url.dll,FileProtocolHandler " & App.Path & "\waveextract.exe", vbMaximizedFocus
该语句我使用了一下,是在当前路径下用的,还挺好用,谢谢楼上的各位还有版主!
再加一问,如果想打开文本则应该用什么语句? 打开文本还是打开文本文件?
Shell "something.txt"
这样可以吗? 是打开文本文件,就是一点击按钮即可打开文本文件,就跟咱们平时双击文本打开一样,因为我现想用VB编一个小软件,所以想知道这个怎么弄?谢谢! '用ShellExecute,这是个API,需要先声明
private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long
'hwnd:你先别管这是个什么东东,就写上0
'lpOperation:也先别写,写上"open",即打开
'lpFIle:就写上你的txt文件名,如"C:\cmd.txt"
'lpparameters:不用管,写个""
'lpDerectory:不用管,写个""
'nShowcmd,不用管,写个1
'整个函数其实你要写的就是有一个文件名,其他的基本可以算是固定的
要打开某个文件只要这样:
ShellExecute 0,"OPEN","你的文件名(要用双引号哦!)","","",1 我hwnd一直用的是me.hwnd 要是在标准模块中调用那怎么办呢? 调用文本已经搞定,我用的是:
Shell "NotePad.EXE " & App.Path & "\para_inwave.txt", vbNormalFocus shell 你要的是不是一开机自动运行.exe啊?请看下面开机自动运行代码
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''模塊
'Modul31
Public Declare Function RegCloseKey Lib "advapi32.dll" (ByVal hKey As Long) As Long
Public Declare Function RegCreateKey Lib "advapi32.dll" Alias "RegCreateKeyA" (ByVal hKey As Long, ByVal lpSubKey As String, phkResult As Long) As Long
Public Declare Function RegSetValueEx Lib "advapi32.dll" Alias "RegSetValueExA" (ByVal hKey As Long, ByVal lpValueName As String, ByVal Reserved As Long, ByVal dwType As Long, lpData As Any, ByVal cbData As Long) As Long ' Note that if you declare the lpData parameter as String, you must pass it By Value.
Public Const HKEY_CURRENT_USER = &H80000001
Public Const REG_SZ = 1
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''from
程序說明:
要使程序每次啟動時自動運行可以在注冊表文件
'
﹛HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run寫入啟動信息,這樣在Windows每次啟動時都會自動運行
'
﹛使用 RegCreateKey 取的HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run 的 hKey 的值既你所名的名稱
'
﹛使用 RegSetValueEx 在 hKey 下寫入一個以"我的記事本"作為名,以 "Notepad.exe"作為值的啟動
'
所有控件:
'
'Command1
'Command2
'
程序代碼:
'Form1
Private Sub Command2_Click()
Unload Me
End Sub
Private Sub Command1_Click()
Dim SubKey As String
Dim Exe As String
Dim hKey As Long
SubKey = "Software\Microsoft\Windows\CurrentVersion\Run"
Exe = "Notepad.exe" '你所要啟動的項目
RegCreateKey HKEY_CURRENT_USER, SubKey, hKey
RegSetValueEx hKey, "我的記事本", 0, REG_SZ, ByVal Exe, LenB(StrConv(Exe, vbFromUnicode)) + 1
RegCloseKey hKey
End Sub
页:
[1]
