Announcement

Collapse
No announcement yet.

shellexecute reagiert nicht

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • shellexecute reagiert nicht

    Die shellexecute-API ist folgendermaßen deklariert:

    Code:
    Public 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) As Long
    Der dazugehörige Befehl lautet:
    Code:
    Dim r As Long
    r = ShellExecute(0, "open", "http://www.microsoft.com", 0, 0, 1)
    Leider passiert nichts, wenn ich das Programm ausführe. Weder eine Fehlermeldung noch der Browser erscheint.
    r ist auch größer als 32.

    Woran kann es liegen?

  • #2
    mach es dir nicht so schwer und probiere es mit

    Process.Start("http://www.microsoft.com")
    Unsere Jugend ist unerträglich, unverantwortlich und entsetzlich anzusehen! - Aristoteles

    Comment


    • #3
      Danke, aber den Befehl kenn ich schon.

      Mir geht es darum, shellexecute richtig einzusetzen, da ich bei Process.Start() zwar *.exe ausführen lassen kann aber keine Shortcuts (zumindest soweit mir bekannt ist)

      Das obere Beispiel ist nur ein einfaches erstes Beispiel zum Test.

      Comment


      • #4
        Dann kombiniere Process.Start mit ShellExecute.

        Process.Start("Shellexecute", "0, "open", "http://www.microsoft.com", 0, 0, 1");

        mfG Gü
        "Any fool can write code that a computer can understand. Good programmers write code that humans can understand". - Martin Fowler

        Comment


        • #5
          Code:
          Process.Start("Shellexecute", "0, "open", "http://www.microsoft.com", 0, 0, 1");
          Diese Syntax funktioniert so nicht!

          Comment


          • #6
            Hallo

            Du hast die VB6 Declaration

            in .Net so deklarieren
            Code:
            Declare Function ShellExecuteA Lib "shell32.dll" ( _
                ByVal hWnd As IntPtr, _
                ByVal lpOperation As String, _
                ByVal lpFile As String, _
                ByVal lpParameters As String, _
                ByVal lpDirectory As String, _
                ByVal nShowCmd As Integer) As IntPtr
            Also hwnd wird zu IntPtr und Long wird zu Integer.

            Für API Deklarationen ist pinvoke.net/ sehr zu empfehlen.

            cu

            Comment


            • #7
              Danke für den super Tipp, hat funktioniert!!!

              Comment

              Working...
              X