Форум программистов, компьютерный форум, киберфорум
Наши страницы
Visual Basic
Войти
Регистрация
Восстановить пароль
 
Искр
0 / 0 / 0
Регистрация: 05.09.2010
Сообщений: 22
#1

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

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

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

И еще.

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

Всем заранее благодарен.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.12.2010, 14:24
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Как узнавать параметры к проге? (VB):

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

как записать алгоритм к этой проге?)
вычислить значение н-го члена ряда 1/3!+1/5!+1/7!+.....1/(2н+1)! рябят...

Как сделать некоторые фрагменты в проге прозрачными?
Слуште. Поиск на форуме не пашет почмуто поэтому решил тему создать. Как...

Как просматривать в проге на VB документы Word,Excel и TIF?
Как просматривать в проге на VB документы Word,Excel и TIF? Что-то вроде...

Как привязать опредиленный тип файлов к моей проге...
Ребята! Подскажите, как привязать определенный тип файлов к моей проге. (Ну в...

Как в своей проге показывать изображение с Web камеры???
Мне нужно чтобы изображение с Web камеры поступало на форму (или куда там еще...

2
Comanche
24.12.2010, 15:42 #2
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  [ТС] #3
Спасибо.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.12.2010, 18:15
Привет! Вот еще темы с решениями:

Как использовать в своей проге ресурсы других - конкретнее иконки?
Как использовать в своей проге ресурсы других - конкретнее иконки? Ну ведь...

Как сделать, чтобы размер шрифра в виндах не влиял на размер шрифтов в проге?
Я столкнулся с такой проблемой : написал программу, которая занимает 800x600...

Как определять параметры?
Привет всем! Подскажите, пожалуйста, вот есть у меня API функция (например:...

Как передать параметры в WORD?
Помогите пожалуйста. Есть шаблон для WORD'а он содержит модуль DrawPicture, а...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru