|
|
|
| Почему-то не работает Shell(strCommand, intMode) на моём ПК, хотя этот же код на др. ПК отлично грузит приложение.
В чем может быть проблема? | |
|
| |
|
|
|
| антивирус?
я обычно использую ShellExecute() | |
|
| |
|
|
|
| А что это за ф-я?
у меня ругается not defined ....
>антивирус?
возможно, до недавнего avast был, сейчас Касперский
======
Нашла Ваши сообщения с кодами, попробую. | |
|
| |
|
|
|
| и ShellExecute и Shell возвращаю 0
Есть выход? подскажите... | |
|
| |
|
|
|
| должен возвращать не 0, а хендл окна.
может не может найти программу, которую нужно запускать?
запускаете с какого диска? из сети?
в деларации нет ошибок?
Declare Function ShellExecute& Lib "shell32.dll" Alias "ShellExecuteA" (ByVal _
hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal _
lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long)
попробуйте вызвать блокнот, напрмер, так:
Dim res As Long, hwnd As Long
res = ShellExecute(hwnd, "open", "NOTEPAD.EXE", "полное имя файла", "", SW_MAXIMIZED)
If res < 32 Then MsgBox "'ShellExecute' function error", vbExclamation, "rpt_AppStructure" | |
|
| |
|
|
|
| деларацию тупо скопировала
вызываю:
res = ShellExecute(hwnd, "open", "NOTEPAD.EXE", "C:\Temp\Текст.txt", "", 3)
получаю res =0
а на SW_MAXIMIZED ругается, что переменная не определена | |
|
| |
|
|
|
| вот определение. но это не важно
Public Const SW_MAXIMIZED = 3
Public Const SW_SHOW = 5
Public Const SW_MINIMIZED = 6
антивирус-то выключен?
может с правами чего?
как логинимся на компьютер? | |
|
| |
|
|
|
| антивирус отключила SРell работает отлично по-прежнему,
а вот ShellExecute возвращает 0 и идёт на If res < 32 Then MsgBox ...... | |
|
| |
|
|
|
| ну я не знаю | |
|
| |
|
|
|
| Спасибо за участие, главное Вы подсказали в чем дело.
Может кто сможет подсказать, как это возможно обойти.... | |
|
| |
|
|
|
| Открывает любое расширение .
Private Sub Кнопка2_Click()
Set WShell = CreateObject("WScript.Shell")
WShell.Run "c:\Temp\Текст.txt", 3, True
Set WShell = Nothing
End Sub | |
|
| |
|
|
|
| ' 1 в качестве второго аргумента открывает
' приложение в окне обычного
' размера и передает ему фокус
Dim RetVal
' Запускаем калькулятор
RetVal = Shell("C:\WINDOWS\CALC.EXE", 1) | |
|
| |
|
|
|
|
Вопрос: Вызов функции ShellExecute, имеет больше возможностей для запуска программ, чем Shell в Access
Совет:
Declare Function apiShellExecute Lib "shell32.dll" Alias _
"ShellExecuteA" (ByVal Hwnd As Long, ByVal lpOperation As String, _
ByVal lpFile As String, ByVal lpParameters As String, _
ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long
Declare Function GetDesktopWindow Lib "user32" () As Long
Public Const SW_NORMAL = 1
Public Const SW_SHOWMAXIMIZED = 3
Public Const SW_SHOWDEFAULT = 10
Public Const SW_SHOWNOACTIVATE = 4
Public Const SW_SHOWNORMAL = 1
lResult = apiShellExecute(frmSplash.hwnd, vbNullString, "TEST.XLS",_
vbnullstring, App.Path, SW_SHOWMAXIMIZED)
lResult = apiShellExecute(GetDesktopWindow(), "open", "http://www.arimsoft.ru"_
, "", 0&, SW_SHOWMAXIMIZED)
Where
frmSplash.hwnd is the calling form's handle
the second param indicates to open the file (you can use "Open" or "Print" as well)
the third is the file name to open
the next is to show I'm not passing any parameters
Then there's the default directory to use
And finally to maiximize it (value 3)
|
| |
|
| |
|
|
|
|
(Shell "conv.exe ts.txt ts_.txt", vbHide)
|
| |
|
| |