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

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

24.12.2010, 14:24. Показов 775. Ответов 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
Ответ Создать тему
Новые блоги и статьи
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это дополнительная запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru