shellExecute

Язык Visual Basic на платформе .NET.

Модераторы: Ramzes, Sebas

Dmitriy Solomnikov
Постоялец
Постоялец
 
Сообщения: 407
Зарегистрирован: 10.11.2004 (Ср) 13:04
Откуда: Москва

shellExecute

Сообщение Dmitriy Solomnikov » 16.11.2004 (Вт) 11:43

Мне надо запустить определенный файл (допустим посмотреть картинку). Для этого я собираюсь использовать WINAPI ф-ю shellExecute(...). В MSDN я нашел такой пример
============================================
Option Explicit

Const SW_SHOWNORMAL = 1

Private Declare Function ShellExecute Lib "shell.dll" (ByVal hwnd%, _
ByVal lpszOp$, ByVal lpszFile$, ByVal spszParams$, ByVal _
lpszDir$, ByVal fsShowCmd%) As Integer

Private Declare Function GetDesktopWindow Lib "USER" () As Integer

Function StartDoc(DocName As String) As Integer
Dim Scr_hDC As Integer
Scr_hDC = GetDesktopWindow()
StartDoc = ShellExecute(Scr_hDC, "Open", DocName, "", "C:\", _
SW_SHOWNORMAL)
End Function

Sub Form_Click()
Dim r As Integer
r = StartDoc("C:\WINDOWS\ARCADE.BMP")
End Sub
===========================================

Этот код не работает даже если использовать shell32.dll вместо shell.dll
и user32.dll вместо user.dll

Примечательно, что этот самый приме в VB6 работает без проблем.
Вопрос: что делать?

gaidar
System Debugger
System Debugger
 
Сообщения: 3152
Зарегистрирован: 23.12.2001 (Вс) 13:22

Сообщение gaidar » 16.11.2004 (Вт) 17:34

Код: Выделить всё
Private Declare Function ShellExecute Lib "shell32.dll" _
Alias "ShellExecuteA" (ByVal hwnd As Integer, ByVal lpOperation As _
String, ByVal lpFile As String, ByVal lpParameters As String, ByVal _
lpDirectory As String, ByVal nShowCmd As Integer) As Integer
Const SW_SHOWNORMAL As Short = 1

'Пример
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e _
As System.EventArgs) Handles Button1.Click
        ShellExecute(vbNull, vbNullString, "c:\1.txt", vbNullString, _
        "C:\", SW_SHOWNORMAL)
End Sub
The difficult I’ll do right now. The impossible will take a little while. (c) US engineers in WWII
I don't always know what I'm talking about, but I know I'm right. (c) Muhammad Ali

Dmitriy Solomnikov
Постоялец
Постоялец
 
Сообщения: 407
Зарегистрирован: 10.11.2004 (Ср) 13:04
Откуда: Москва

Сообщение Dmitriy Solomnikov » 17.11.2004 (Ср) 11:56

Спасибо

Ronin
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 635
Зарегистрирован: 13.02.2002 (Ср) 14:16
Откуда: Россия, Москва

Сообщение Ronin » 20.12.2004 (Пн) 4:56

Доброго врмени суток!

Все гораздо проще!
Код: Выделить всё
Process.Start("D:\Your_Image.gif")
С уважением,
Игорь Шувалов aka Ronin


Вернуться в Visual Basic .NET

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 82

    TopList