2013-07-18 71 views
0

我試圖在Windows 7上執行.exe文件(由VB6創建)。 應用程序將執行的操作是簡單地創建一個文本文件,然後閱讀文本爲一個文本文件。 所有功能正在Windows XP上成功測試。當我在Win 7上執行.exe文件時,這些函數照常運行,但是我創建的文件不存在於特定路徑(C:\ test.txt)中。最奇怪的是,儘管無法在文件資源管理器中找到文本文件,我仍然可以從文本文件中讀取內容(通過.exe文件)。vb6在win 7中讀取和寫入文本文件

然後我發現我必須選擇[以管理員身份運行]才能執行.exe文件,以便在C:驅動器上創建文件(test.txt)。我很好奇,.exe文件如何仍然可以讀取文本文件,即使它不存在,我如何強制.exe文件以管理員身份運行?

這裏是編寫和讀取文件的代碼。

Open "C:\" & "test.txt" For Output As #1 
Print #1, cDrive.Text 
Close #1 


Open "C:\" & "test.txt" For Input As #1 
Input #1, msg 
Close #1 
cDrive.Text = msg 
Exit Sub 
+2

搜索UAC數據重定向:http://blogs.windows.com/windows/archive/b/developers/archive/2009/08/04/user-account-control-data -redirection.aspx – wqw

+0

不要將垃圾放入啓動驅動器根目錄,它是受保護的文件系統位置。 – Bob77

回答

0
  1. 我建議您使用快捷方式中的功能(編譯和安裝後)以管理員身份運行該程序。
  2. 如果您在調試模式下詢問它 - 我相信如果您用來調試的用戶是管理員 - 這就夠了。
  3. 我對你的問題沒有答案「我很好奇如何.exe文件仍然可以讀取文本文件,即使它不存在」
  4. 你不應該直接指定打開爲#1,使用FreeFile()函數而不是Look here for a sample

好運

+0

感謝您的回覆,但可以通過VB6代碼強制以管理員身份運行? – user2051823

+0

試試這個: http://stackoverflow.com/questions/8416665/vb6-is-application-running-as-administrator –

0

驅動器C受Win7保護,你仍然可以寫信給它,但你真的不應該這樣做。

如果你想運行的應用程序作爲管理員:

  • 右擊EXE
  • 選擇PROPERTIES
  • 進入兼容性選項卡
  • 檢查運行該程序以管理員身份複選框
  • 點擊確定

現在,每當你運行該應用程序,它將以管理員身份運行