2013-08-26 39 views
0

我希望在快捷方式鏈接運行實現......形式自動關閉,順便說一句進出口新的編碼vb的所以任何幫助將非常感激,這是我到目前爲止的代碼負載快捷方式,然後關閉自動形式

Private Sub Form_Load() 

Set ss = CreateObject("WScript.Shell") 
ss.Run Chr(34) & ss.specialfolders("Desktop") & "\app\SOMEGAME.lnk" & Chr(34) 

End Sub 
+0

你想要做什麼?你是否試圖運行一個快捷方式,然後立即關閉打開的表單?代碼應該是VB 6或VB.Net? – xxbbcc

+0

我是電腦咖啡館的老闆,我決定將一個本地網站嵌入到exe文件中,以便用戶可以通過該exe窗口啓動程序,並且將它設置爲chrome的主頁,我無法直接啓動程序到它的目錄,因爲的uac特權,所以我必須通過快捷鏈接啓動它,以及你的代碼作品感謝你。 –

回答

1

通過調用

Unload Me 

在事件處理程序的結束假設你正在使用VB6(這是你的代碼是什麼樣子),你可以關閉你的表格。

不過,你不需要使用的一種形式,推出一個快捷方式 - 你可以添加一個模塊到您的項目(右鍵點擊你的項目,選擇Add - >Module),然後只需調用ShellExecute()功能推出您的快捷方式,如下所示:

'Declare the ShellExecute() API function 
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 

Private Const SW_SHOWNORMAL As Long = 1 

'Entry point of your program 
Public Sub Main() 

    Dim sPath As String 

    sPath = "C:\app\SOMEGAME.lnk" 
    ShellExecute 0, vbNullString, sPath, vbNullString, "C:\", SW_SHOWNORMAL 

End Sub 

爲了使這項工作,設置在項目屬性Startup ObjectSub Main

使用這種方法,您沒有表單 - 您的程序只是從命令行(或從它自己的快捷方式)運行。如果程序不需要它,通常最好不要創建/顯示錶單,因爲表單使用額外的資源。這就是說,你應該嘗試使用VB.Net或C#編寫Windows程序 - VB6是沒有支持的舊技術,它不能處理大量新技術。如果你還不知道VB6,現在就沒有什麼意義了 - 通過學習VB.Net/C#你可以更好地利用你的時間。

+0

感謝您的快速回復它現在完美工作現在我只需要在win7中測試它就像你說的vb6太舊,win7是一個新技術,我在xp上測試它,它再次工作正常。 –