Форум программистов, компьютерный форум, киберфорум
Visual Basic
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/4: Рейтинг темы: голосов - 4, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 05.09.2010
Сообщений: 22

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

24.12.2010, 14:24. Показов 759. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Люди, помогите!
Предположим, мою прогу запустили с каким-нибудь параметром (например, через функцию Shell).
Как мне узнать его?

И еще.

Например, если моя прога назначена для открытия какого-нибудь типа файлов, то после открытия файла хотелось бы загрузить файл в прогу.
Как это сделать?

Всем заранее благодарен.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
24.12.2010, 14:24
Ответы с готовыми решениями:

Как отдать параметры (команды) уже запущенной проге с Ворда?
здравствуйте ' Запуск программы с параметрами ' SHELL "<полный путь к исполняемому файлу> парамер1 параметр2 ......

Как узнавать положение скролбара?
Привет! Подскажите плз, как можно узнавать положение скролбара? Вот мы передвигаем ползунок, как узнать значение скрола в этот момент?...

Если ярлыка к проге нет, то Создать ярлык к проге по адресу (текущий адрес)
Подскажите plz фичу: Если ярлыка к проге нет, то Создать ярлык к проге по адресу (текущий адрес)

2
Comanche
24.12.2010, 15:42
1. Смотри хелп на Command$.

2. Держи код:
[code]
Option Explicit
'
Public Declare Function GetWindowsDirectory Lib 'kernel32' Alias 'GetWindowsDirectoryA' _
(ByVal lpBuffer As String, _
ByVal nSize As Long) As Long
'
Public Declare Function RegCreateKeyEx Lib 'advapi32.dll' Alias 'RegCreateKeyExA' _
(ByVal hKey As Long, _
ByVal lpSubKey As String, _
ByVal Reserved As Long, _
ByVal lpClass As String, _
ByVal dwOptions As Long, _
ByVal samDesired As Long, _
lpSecurityAttributes As SECURITY_ATTRIBUTES, _
phkResult As Long, _
lpdwDisposition 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
'
Public Declare Function RegCloseKey Lib 'advapi32.dll' _
(ByVal hKey As Long) As Long
'
Public Declare Sub SHChangeNotify Lib 'shell32.dll' _
(ByVal wEventId As Long, _
ByVal uFlags As Long, _
ByVal dwItem1 As Long, _
ByVal dwItem2 As Long)
'
Public Type SECURITY_ATTRIBUTES
nLength As Long
lpSecurityDescriptor As Long
bInheritHandle As Boolean
End Type
'
Public Const HKEY_CLASSES_ROOT = &H80000000
Public Const REG_SZ = 1
Public Const KEY_ALL_ACCESS = &H3F
Public Const SHCNE_ASSOCCHANGED = &H8000000
Public Const SHCNF_IDLIST = 0
'
Sub Main()
Call RegisterExtension('.mbf', 'MyApp.BatchFile', 'Пакетный файл ' + _
'MyApp', 'C:...myapp.exe')
End Sub
'
Sub RegisterExtension(ByVal fileExt As String, ByVal fileType As String, ByVal _
fileDescr As String, ByVal fullExeName As String)

' ***
' *** Функция для ассоциации типа файла с приложением
' *** fileExt - расширение файла
' ***

Dim retVal As Long
Dim result As Long
Dim SA As SECURITY_ATTRIBUTES
Dim tmp As String

' Создаем ключ для программы:
retVal = RegCreateKeyEx(HKEY_CLASSES_ROOT, fileType, 0, vbNullString, 0, _
KEY_ALL_ACCESS, SA, result, &H1)
' Присваиваем его значению по умолчанию название программы:
RegSetValueEx result, '', 0, REG_SZ, ByVal fileDescr, Len(fileDescr)
Call RegCloseKey(result)

' Создаём ключ, связанный с расширением файла:
retVal = RegCreateKeyEx(HKEY_CLASSES_ROOT, fileExt, 0, vbNullString, 0, KEY_ALL_ACCESS, SA, result, &H1)
' Присваиваем значению по умолчанию название программы:
RegSetValueEx result, '', 0, REG_SZ, ByVal fileType, Len(fileType)
Call RegCloseKey(result)

' Определяем командную строку для приложения ('Открыть'):
tmp = Chr$(34) + fullExeName + Chr$(34) + ' ' + Chr$(34) + '%1' + Chr$(34)
retVal = RegCreateKeyEx(HKEY_CLASSES_ROOT, fileType & 'shellopencommand', 0, vbNullString, 0, KEY_ALL_ACCESS, SA, result, &H1)
RegSetValueEx result, '', 0, REG_SZ, ByVal tmp, Len(tmp)
Call RegCloseKey(result)

' Определяем командную строку для редактирования ('Изменить'):
tmp = '&Изменить'
retVal = RegCreateKeyEx(HKEY_CLASSES_ROOT, fileType & 'shelledit', 0, vbNullString, 0, KEY_ALL_ACCESS, SA, result, &H1)
RegSetValueEx result, '', 0, REG_SZ, ByVal tmp, Len(
0 / 0 / 0
Регистрация: 05.09.2010
Сообщений: 22
24.12.2010, 18:15  [ТС]
Спасибо.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
24.12.2010, 18:15
Помогаю со студенческими работами здесь

Как можно сразу узнавать, что пользователь ушел из чата?
Всем здарово! Я пишу чат, ну и у меня такой вопрос: как можно сразу узнавать, что пользователь ушел из чата, не нажав кнопку выход,...

Как написать функцию в ActiveX DLL и как её использовать в другой проге?
Как написать функцию в ActiveX DLL и как её использовать в другой проге, ну допустим как апи: Declare Function имя Lib 'DLL'ка'...

Из существующих кодов узнавать входящие данные.
Имеем ряд входящих данных, на их основе получаем 7-и значный код. задача состоит в том чтоб из существующих кодов узнавать входящие данные....

Откуда узнавать о нововведениях в новых стандартах С++?
Слышал что один чел каждый год развивается в c++ . Это как?Как узнать о нововведениях в новых стандартах С++? я пока только знаю как...

Непонятно как написать в проге
Народ, в сем приветик! Есть вот такой гкод: #include<iostream.h> #include<math.h> #include<conio.h> #include<string.h> ...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru