Форум программистов, компьютерный форум, киберфорум
Visual Basic
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.94/48: Рейтинг темы: голосов - 48, средняя оценка - 4.94
26 / 26 / 0
Регистрация: 23.07.2011
Сообщений: 120
1

Как узнать путь к программе?

22.08.2011, 20:30. Показов 9909. Ответов 9
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Vb6
Создаем программу помещаем ее какое то директорию а она пишет в какой директории находится.
Мне для того чтобы потом проверить папки там и файлы или создать там папки и файлы.

А как создать скрытые файлы временные файлы?
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
22.08.2011, 20:30
Ответы с готовыми решениями:

Как узнать путь к программе
У меня есть код записи программы в реестр: Reg = CreateObject("WScript.Shell") ...

Как узнать путь к своей программе
private void button1_Click(object sender, EventArgs e) { // ткрываем нужную ветку в реестре ...

Как узнать в программе путь к EXE файлу?
Товарищи, поиогите плз. Как узнать в программе путь к исполняемому файлу.

Узнать путь к программе
Здравствуйте, подскажите, пожалуйста, как узнать путь к программе, которая запущена? :)

9
10231 / 6609 / 498
Регистрация: 28.12.2010
Сообщений: 21,156
Записей в блоге: 1
22.08.2011, 21:08 2
создаете как обычно, а cкрытые... поиграйтесь установкой аттрибутов SetFileAttributes(). Насчет "временных" неясно, обрисуйте полностью задачу.
0
6804 / 2831 / 527
Регистрация: 24.04.2011
Сообщений: 5,308
Записей в блоге: 10
23.08.2011, 07:16 3
Цитата Сообщение от maksimla Посмотреть сообщение
Vb6
Создаем программу помещаем ее какое то директорию а она пишет в какой директории находится.
Включите в программу строку:

Visual Basic
1
progpath = App.Path & "\"
В переменной progpath будет полный путь из которого запущено ваше приложение.

Как было сказано, атрибут скрытый и временный файлу можно присвоить одной функцией, её декларация
Visual Basic
1
2
3
Private Declare Function SetFileAttributes Lib "kernel32" Alias "SetFileAttributesA" (ByVal lpFileName As String, ByVal dwFileAttributes As Long) As Long
Const FILE_ATTRIBUTE_TEMPORARY = &H100
Const FILE_ATTRIBUTE_HIDDEN = 2
Вызывать так

Visual Basic
1
SetFileAttributes FileName, FILE_ATTRIBUTE_TEMPORARY
1
26 / 26 / 0
Регистрация: 23.07.2011
Сообщений: 120
23.08.2011, 11:05  [ТС] 4
а это на win api?
0
6644 / 1511 / 169
Регистрация: 09.01.2010
Сообщений: 4,298
23.08.2011, 12:16 5
Доп.
Declare Function SetFileAttributes Lib "kernel32.dll" Alias "SetFileAttributesA" (ByVal lpFileName As String, ByVal dwFileAttributes As Long) As Long

Платформа: Win 95/98, Win NT

SetFileAttributes меняет атрибуты файла или папки. Вы можете установить четыре вида:архивный,только для чтения,скрытый и системный.В случае ошибки функция возвращает 0 ,в успешном случае 1.

lpFileName
Полное имя файла или папки.
dwFileAttributes
Один или несколько флагов,определяющих атрибуты файла:
FILE_ATTRIBUTE_ARCHIVE = &H20
Архивный файл.
FILE_ATTRIBUTE_HIDDEN = &H2
Скрытый файл или папка.Обычно его не видно пользователю.
FILE_ATTRIBUTE_NORMAL = &H80
Файл не имеет атрибутов(нельзя комбинировать с другими флагами).
FILE_ATTRIBUTE_READONLY = &H1
Файл только для чтения.
FILE_ATTRIBUTE_SYSTEM = &H4
Системный файл.Является частью операционной системы.
1
Оранжевый портфель.
60 / 58 / 47
Регистрация: 13.11.2010
Сообщений: 459
25.08.2011, 21:26 6
скрытый атрибут мона както вроде по другому
погуглил нашол вот что
SetAttr "путь", vbHidden
но таким образом не нашол ничё по временному
0
11508 / 3794 / 681
Регистрация: 13.02.2009
Сообщений: 11,197
26.08.2011, 09:13 7
Лучший ответ Сообщение было отмечено как решение

Решение

Совет 243.
Создавайте временные VB-файлы с помощью API-функции

Если вы когда-либо работали с Word или другим приложением Office, вы, вероятно, обратили внимание, что каждый раз при открытии файла Office создает временный файл, в котором будут храниться все изменения. И тогда у вас мог возникнуть вопрос, как создавать произвольные временные файлы в своем собственном VB-приложении. Для этого воспользуйтесь API-функцией GetTempFileName:

Public Declare Function GetTempFileName Lib "kernel32" _
Alias "GetTempFileNameA" (ByVal lpszPath As String, _
ByVal lpPrefixString As String, ByVal wUnique As Long, _
ByVal lpTempFileName As String) As Long

Аргумент lpszPath передает полное имя файла (включая путь к нему), lpPrefixString позволяет добавить префикс из трех букв слева от имени файла, а wUnique дает команду Windows либо создать файл с произвольным именем (wUnique равен 0), либо использовать заданный номер. Параметр lpTempFileName, конечно же, содержит имя нового временного файла. В качестве примера поместите приведенное выше объявление API-функции в стандартный модуль, а затем напишите следующую функцию:

Private Function GenTempName(sPath As String)
Dim sPrefix As String
Dim lUnique As Long
Dim sTempFileName As String

If IsEmpty(sPath) Then sPath = "D:\Articles\IVB"
sPrefix = "fVB"
lUnique = 0

sTempFileName = Space$(100)
GetTempFileName sPath, sPrefix, lUnique, sTempFileName
sTempFileName = Mid$(sTempFileName, 1, _
InStr(sTempFileName, Chr$(0)) - 1)
GenTempName = sTempFileName
End Function

После этого откройте новую форму и введите следующий код в ее событие Click. (Замените D:\Articles\IVB на любой допустимый путь.)

MsgBox GenTempName("D:\Articles\IVB")

Запустите проект на выполнение. Заданный вами каталог теперь содержит временный файл, имя которого было выведено в окне сообщения.

Обратите внимание, что для того чтобы приведенная выше функция работала надлежащим образом, вы должны задать только допустимый путь. В противном случае функция GetTempFileName вернет 0 и нулевой параметр в качестве имени файла в Windows NT. В Windows 9x неправильно указанный путь также вернет 0, а параметр lpTempFileName не будет содержать имя временного файла.
3
13 / 18 / 0
Регистрация: 04.01.2011
Сообщений: 26
30.08.2011, 13:49 8
Цитата Сообщение от Pro_grammer Посмотреть сообщение
Включите в программу строку:

Visual Basic
1
progpath = App.Path & "\"
В переменной progpath будет полный путь из которого запущено ваше приложение.
но если поместить такую программу в корень диска, то программа вернёт, например, "C:\\", что не есть правильно.

как-то вот так
Visual Basic
1
2
3
4
5
6
7
Private Sub Form_Load()
    MsgBox AppPath
End Sub
 
Function AppPath() As String
    If Not Right(App.Path, 1) = "\" Then AppPath = App.Path + "\" Else AppPath = App.Path
End Function
0
1389 / 530 / 67
Регистрация: 10.04.2009
Сообщений: 8,715
30.08.2011, 14:32 9
функция вещь хорошая, кто разбирается сам состроит, а так тоже одна строка
Visual Basic
1
If Right$(App.Path, 1) = "\" Then MsgBox$ App.Path + "\" Else MsgBox$ App.Path
0
13 / 18 / 0
Регистрация: 04.01.2011
Сообщений: 26
30.08.2011, 16:22 10
но можно ещё круче
Visual Basic
1
MsgBox IIf(Right$(App.Path, 1) = "\", App.Path, App.Path + "\")
1
30.08.2011, 16:22
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
30.08.2011, 16:22
Помогаю со студенческими работами здесь

Узнать путь к запущенной программе
Нужно узнать путь к запущенной программе (пример chrome.exe).

Как узнать путь к картинкам?
нашел на сайте конструкцию css (нужно картинки извлечь) как узнать путь к картинкам если так ...

Как узнать путь диска?
Заходишь в "Мой компьютер", и там множество дисков, некоторые из них созданы командой subst,...

Как узнать путь к файлу?
1)Допустим, мы запускаем c:/games/1.exe, 1.exe это моя программа. Как я могу получить путь к ней,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru