Avatar billede ligeglad Nybegynder
18. februar 2005 - 17:19 Der er 6 kommentarer og
1 løsning

Explorer og notepad

Hej.
Jeg har lavet et program som via open laver et .htm dokument på disken. Jeg skal nu lave en knap åbne browerseren og vise mit dokument. Når jeg bruger shell( "-sti-explorer fil.htm) så virker det fint (winXP), men ikke når jeg kører programmet på min win2K. Dette skyldtes at explorer ligger på forskellige placeringer. Explorer er sat op til at starte htm dokumenter, når man dbl. klikker på htm filer. Hvordan åbner jeg nemmest dette htm dokument. PS jeg har samme problem med et notepad dok (txt), som skal åbnes.

Det haster så jeg vil give 100 point, for en nem og hurtig løsning som virker på alle windows OS.
Avatar billede driis Nybegynder
18. februar 2005 - 17:25 #1
Du skal bruge WinAPI funktionen ShellExecute.
Et eksempel:
http://vbaccelerator.nuwebhost.com/codelib/shell/shellex.htm
Avatar billede joern Nybegynder
18. februar 2005 - 19:38 #2
Hej.

Denne kode åbner 'standard-broser', som lykkeligvis ikke er IE hos mig.

I en form under declarations:

Private 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

Fra mit projekt - hjælpefilen er html:

Private Sub mnuhjelp_Click(Index As Integer)
  If Len(Dir(netsti & "manual60.htm")) > 5 Then
      ret = ShellExecute(Me.hwnd, "Open", netsti & "manual60.htm", "", App.Path, 1)
    Else
      X = MsgBox("Vejledningen 'manual60.htm' findes ikke på " & netsti & "  - hent den på www.jkfsoft.dk", 48, "Medd. fra 'Hjælp'.")
  End If
End Sub

-------------------------------------------------
Særlige mapper:

Dim fso
dim windir, sydir as string
 
Set fso = CreateObject("Scripting.FileSystemObject")
    windir = fso.getspecialfolder(0)
    sydir = fso.getspecialfolder(1)

Du kan også få fat i temp og andre faste mapper, hvilke afhænger af VB-version.

M.v.h. Jørn
Avatar billede ligeglad Nybegynder
18. februar 2005 - 21:44 #3
Til driis.

Det ser spændende ud men jeg får fejl på  ShellEx "http://www.dogma.demon.co.uk", , , , , Me.hWnd
dvs fejl på me.hwnd Jeg bruger VB6.0 sp6. Men skyldtes det at jeg skal bruge en ref, eller component eller lign?
Avatar billede driis Nybegynder
18. februar 2005 - 21:55 #4
Har du husket at erklære:

Private 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

?

Jeg kan desværre ikke teste da jeg ikke har VB6 installeret længere. Men kan huske at jeg har brugt funktionen til det samme uden problemer.
Avatar billede ligeglad Nybegynder
19. februar 2005 - 08:24 #5
Det program eksempel som man kan DL virker fint. Men jeg får fejl når jeg importere modulet eller kopierer scriptet som er på siden.
Jeg har kontrolleret at jeg har det hele med.
Det virker stadigvæk ikke. Jeg har checket at jeg har alle ref. med, så det skulle ej heller være fejlen.
Jeg får fejlen "invalid use of me keyword"...??
Hvad betyder dette?
Avatar billede ligeglad Nybegynder
19. februar 2005 - 13:36 #6
Jeg har fået me til at fungere....Send et svar driis, så får du de 100 point
Avatar billede driis Nybegynder
19. februar 2005 - 14:15 #7
Svar
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester