Avatar billede mike@work Praktikant
08. november 2000 - 23:16 Der er 17 kommentarer og
1 løsning

Hvad gør jeg så ???

Jeg har den her ActiveX ting. I den er der en knap som gerne skulle ende med at have den funktion at den åbner default browser med en url. Så jeg tænkte: \"ahh ShellExecute\". Men det mener VB helt bestemt ikke jeg skal bruge.

Når jeg declare\'er den med:
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

Får jeg følgende fejl når jeg compiler:

-----
Constant, Fixed-length strings, arrays, user-defined types and declare statments not allowed as Public members of object modul
-----

Hvad gør jeg så ??? Har jeg andre muligheder..

end bi-ting: Er det muligt i en Label at skrive et link som så brugeren kan clicke på og så åbne en browser med den url ??? (vi snakker stadig ActiveX) ???
Avatar billede tdaugaard Nybegynder
08. november 2000 - 23:26 #1
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

It\'s as simple as that!
Avatar billede tdaugaard Nybegynder
08. november 2000 - 23:31 #2
Til bi-tingen:

Lad os antage Label1\'s Caption = \"http://www.tdaugaard.dk/\"

---------------
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

Private Const SW_SHOWNORMAL = 1

Private Sub Label1_Click()
    Dim lngRetVal As Long

    lngRetVal = ShellExecute(Me.hWnd, \"open\", Label1.Caption, \"\", \"\", SW_SHOWNORMAL)
End Sub
--------------

ovenstående BURDE meget gerne åbne tdaugaard.dk i default browser. (tester...)
(done!) og sørme så om ikke det gjorde ;o)
Avatar billede sjh Nybegynder
08. november 2000 - 23:32 #3
Her er hele koden:

\'Indtast i Form

Private Const SW_SHOW = 5
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

Private Sub Command1_Click()
ShellExecute Me.hwnd, \"open\", \"http://www.eksperten.dk/\", \"\", \"\", SW_SHOW
End Sub

\'Indtast i Form

og nej jeg tog den ikke fra tdaugaard, han/hun var bare hurtig. ;)
Avatar billede sjh Nybegynder
08. november 2000 - 23:34 #4
fejl sådan:

ShellExecute Me.hwnd, \"open\", \"http://\", \"\", \"\", SW_SHOW
Avatar billede sjh Nybegynder
08. november 2000 - 23:36 #5
man skal sku være hurtig her ;)
Avatar billede tdaugaard Nybegynder
08. november 2000 - 23:37 #6
<< sjh >>

Ja, HAN var hurtig :) men når jeg har svaret (og det må du jo have set siden du kan skrive at du ikke har taget det fra mig), hvorfor svarer du så det samme !?

Det fatter jeg ikke .. enlighten me, please ;o)
Avatar billede mike@work Praktikant
08. november 2000 - 23:38 #7
ang. Bi-ting:
Ok... Men lad os antag at der i label\'en er mere.... I label der står der (kun hypotetisk): \"Prøv og kig på www.eksperten.dk den er p... god, men der er jo også www.jubii.dk, den er også p..... god\"

Hvordan skelner jeg så mellem hvilken af de to der er clicket på ???
Avatar billede tdaugaard Nybegynder
08. november 2000 - 23:38 #8
Hæ hæ ... ja .. meget :)
Avatar billede tdaugaard Nybegynder
08. november 2000 - 23:40 #9
Se, det kan man ikke. Selvfølgeligt kan du begynde med _MouseDown/Up og tage efter X/Y hvor henne den med If X>xpt_valueX and Y<xpt_valueY then bla bla. ... men det er aaalt for besværligt..

så er det bedre at bruge to labels (en til hvert link)+ en til resten af teksten.
Avatar billede sjh Nybegynder
08. november 2000 - 23:46 #10
<<tdaugaard>>
Jeg fik ikke opdateret.
så kun:

<<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

It\'s as simple as that! >>
Avatar billede tdaugaard Nybegynder
08. november 2000 - 23:48 #11
<< sjh >>

Det må du meget undskylde så :)
Jeg sad også lige bagefter og studsede lidt over hvordan du kunne skrive sådan når dit indlæg kom under 1 minut efter mit ..
Avatar billede mike@work Praktikant
08. november 2000 - 23:50 #12
hehe jeg bliver ved.... Når min ActiveX kører i en browser - Hvordan åbner jeg så en ny til min url :-)
Avatar billede sjh Nybegynder
08. november 2000 - 23:51 #13
<<tdaugaard>>
OK ;)
Avatar billede tdaugaard Nybegynder
08. november 2000 - 23:57 #14
<< mike (who\'s probably not @work) >>

Hvis ikke jeg tager meget fejl så skulle jeg mene den allerede åbner den i et nyt vindue med ShellExecute. Hvis ikke dette er tilfældet så tror jeg du skal til prøve med først at finde Program Files biblioteket på bruger computeren (API kald findes til dette!), så skal du prøve at åbne f.eks.

strProgramFiles = et_API_kald_til_program_files

lngRetVal = ShellExecute(Me.hWnd, \"open\", \"c:\\\" + strProgramFiles + \"\\internet explorer\\iexplorer.exe\", \"min_url\", \"\", SW_SHOWNORMAL)

hvis lngRetVal returnere file not found (Private Const SE_ERR_FNF = 3) så må du prøve lykken med Netscape\'s EXE. Hvis alt får galt er det surt :(
Avatar billede mike@work Praktikant
09. november 2000 - 00:00 #15
tdaugaard... Som sagt tidligere: Du er manden :-)
og jeg forsøger mig lidt frem....

BTW: Jo jeg er på arbejde (temlig meget endda - Det her ActiveX trækker sgu tænder ud)
Avatar billede tdaugaard Nybegynder
09. november 2000 - 00:02 #16
*lol* man kan vel nogle ting ;o)
You know where to find us hvis der er flere probs..

virkelig ? damn .. det må være nogle el grande visdomstænder så *hi hi*

Avatar billede mike@work Praktikant
09. november 2000 - 00:05 #17
Al begyndelse er jo somsagt svært....
Avatar billede tdaugaard Nybegynder
09. november 2000 - 00:13 #18
Couldn\'t have said it better!
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