2013-07-18 2 views
0

Я пытаюсь выполнить файл .exe (созданный VB6) в Windows 7. Что приложение будет делать, так это просто создать текстовый файл, а затем прочитать текст для текстового файла. Все функции успешно протестированы в Windows XP. Когда я запускаю файл .exe в Win 7, функции действуют как обычно, но созданный мной файл не существует на определенном пути (C: \ test.txt). Самое странное, что я все еще могу прочитать содержимое из текстового файла (через файл .exe), несмотря на то, что не смог найти текстовый файл в проводнике файлов.vb6 читать и писать текстовый файл в win 7

Затем я обнаружил, что для выполнения файла .exe необходимо выбрать [run as Administrator], чтобы файл (test.txt) был создан на диске C :. Мне очень любопытно, как файл .exe все еще может читать текстовый файл, даже если он не существует, и как заставить файл .exe запускаться как Administrator?

Вот код для записи и чтения файла.

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. Нельзя напрямую указывать open как # 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
  • выберите Свойства
  • перейти на вкладку Совместимость
  • флажок Запустить эту программу АДМИНИСТРАТОР флажок AS
  • нажмите ОК

Теперь каждый раз, когда вы запустите приложение, оно будет работать под управлением

Смежные вопросы