14. februar 2003 - 08:17 Der er 21 kommentarer og
1 løsning

Placere ikon på .Url

Hej,

Jeg har følgende stump kode, som genererer en .url.

Private Sub CreateInternetShortcut(FullPath, TargetURL, IconURL)
    Dim iFile As Integer
   
    iFile = FreeFile

    Open FullPath For Output As #iFile
    Print #iFile, "[Default]"
    Print #iFile, "BASEURL=" & TargetURL
   
    Print #iFile, "[InternetShortcut]"
    Print #iFile, "URL=" & TargetURL
   
    Print #iFile, "IconFile=" & IconURL
    Print #iFile, "IconIndex=0"
    Close #iFile
End Sub

Koden virker på min Win2000-maskine. Men på en anden maskine (XP) skal næstsidste linie hedde:
Print #iFile, "IconIndex=1"

Min ide var derfor at det var afhængigt af windows-version. Indtil jeg prøvede det på en anden XP-maskine, hvor ingen af funktionerne virkede.

Er der nogle, som kan kaste lys over, hvorfor det ikke bare virker som det skal???

Thnx
/Thomas
14. februar 2003 - 08:20 #1
Jeg skulle måske lige uddybe, at det som ikke virker, er at .Url'en skal anvende et bestemt ikon - nemlig den, som er angivet i stien "IconURL"

Selve .Url'en virker godt nok på alle maskiner. Den kan blot ikke placerer det valgte ikon på.
Avatar billede dk_akj Nybegynder
14. februar 2003 - 12:19 #2
Hvilket ikon prøver du at sætte på ??

Jeg har lavet en test med:
CreateInternetShortcut "c:\temp\akj.url", "www.exp.dk", "c:\temp\ico.ico"
Som virker fint her.

Hvis du bruger en systemdll indeholdende ikoner kan der være versionsforskelle har du checket det ??

//akj
14. februar 2003 - 12:23 #3
Det er en .ico, som jeg prøver at sætte ind.
Jeg har både prøvet at indsætte et ikon fra harddisken og fra en webadresse: http://www.auroragroup.dk/favicon.ico

Hvilken version af Windows bruger du?
Avatar billede dk_akj Nybegynder
14. februar 2003 - 12:24 #4
Jeg har testet på W2Kpro og XPpro.

//akj
14. februar 2003 - 12:33 #5
Det underlige er, at nu virker det heller ikke på den maskine, hvorpå det virkede tidligere :o(((
Avatar billede dk_akj Nybegynder
14. februar 2003 - 12:37 #6
Da du jo bruger en .ico burde det egentligt ikke være nødvendigt at bruge Print #iFile, "IconIndex=0" prøv at remme den linie ud.
14. februar 2003 - 12:42 #7
Det virker stadig ikke på min maskine....det er da mystisk - når det trods alt virkede tidligere!!!
Avatar billede dk_akj Nybegynder
14. februar 2003 - 12:42 #8
genstart ???
14. februar 2003 - 12:43 #9
hmm...god ide...prøver lige...
14. februar 2003 - 12:58 #10
hmm, nu virker begge metoder på min (dog skal jeg skrive enten IconIndex=0 eller IconIndex=1)

Men der er stadig andre maskiner, hvorpå det ikke virker!!??

Der er lidt for meget 'random' over det her, til at jeg synes at det er sjovt :o(

Det skal siges, at det endnu ikke er lykkedes mig at få den til at virke hvis jeg angiver stien til ikonet på harddisken. Det virker kun når den henter ikonet fra det web-link, som jeg skrev tidligere.
Avatar billede dk_akj Nybegynder
14. februar 2003 - 13:01 #11
I c:\temp har jeg en ikonfil ico.ico

Prøv denne kode på en form med en knap (evt i et helt tomt project):

Private Sub Command1_Click()
CreateInternetShortcut "c:\temp\vbshortcut.url", "http://www.exp.dk", "c:\temp\ico.ico"
End Sub
Private Sub CreateInternetShortcut(FullPath, TargetURL, IconURL)
    Dim iFile As Integer
   
    iFile = FreeFile

    Open FullPath For Output As #iFile
    Print #iFile, "[Default]"
    Print #iFile, "BASEURL=" & TargetURL
   
    Print #iFile, "[InternetShortcut]"
    Print #iFile, "URL=" & TargetURL
   
    Print #iFile, "IconFile=" & IconURL
    Print #iFile, "IconIndex=0"
    Close #iFile
End Sub
14. februar 2003 - 13:20 #12
er nødt til at gå.....vender tilbage senere....
Avatar billede dk_akj Nybegynder
14. februar 2003 - 13:22 #13
Oki, rart at høre du har planer om at komme tilbage, så har du da ikke helt opgivet ;-)

//akj
27. februar 2003 - 13:01 #14
Sorry, jeg fik aldrig vendt tilbage hertil :o(

Jeg kunne ikke få det til at virke på alle maskiner, hvis jeg hentede ikonet fra en web-adresse. Så nu er jeg nødt til at distribuere ikonet med :o(

Kan du kort fortælle mig:

Når jeg bare sender .exe-filen (og ikonet med) så virker det på alle de maskiner, som jeg har prøvet på. Men kræver .exe-filen ikke nogle .dll'er o.lign. (VBRUN m.m.). HVad gør, at den alligevel virker på nogle maskiner? Er det pga at de ligger i de nyere versioner af Windows? Eller er det officepakken?

Hvis du kan hjælpe mig med dette spørgsmål, så er der fuld point.

/Thomas
27. februar 2003 - 13:01 #15
dk_akj->Husk at markere det som er svar!
Avatar billede dk_akj Nybegynder
27. februar 2003 - 14:39 #16
Hej Thomas

Jeg vil foreslå dig at du bruger Package og deployment værktøjet der følger med VB.

Den ligger, som standard, i start - programs - MS VB6.0 - MS VB Tools.

Så laver du en setup pakke som så sørger for at pakke de krævede filer med.
Når dine slutbrugere installerer vil de så få de krævede dll'er mm.

//akj
27. februar 2003 - 15:14 #17
Problemet er, at min applikation kun er ganske lille og kun skal køres én gang af kunden. Derefter skal den aldrig bruges mere. Derfor ønsker jeg ikke at der skal installeres noget på deres maskine, som de derefter skal afinstallere igen (de fleste brugere ved meget lidt om IT).

Derfor vil jeg bare sende dem en pakket fil, som pakkes ud i temp-mappen og derefter køres. Når applikationen er færdig ligger den kun i temp-mappen og har derved ikke lagt mere 'snavs' end højest nødvendigt.

Ved du hvilke versioner af windows eller office, som indeholder de nødvendige komponenter. Vi snakker kun om standard-komponenterne i VB (textbox, combobox og kommandoknap)
Avatar billede dk_akj Nybegynder
27. februar 2003 - 15:16 #18
De ligger i vbrun.dll / mfc42.dll.

Hvis du har mulighed for det kan du jo lave en setup pakke som kan downloades af de brugere der ikke kan få det til at virke uden.

//akj
27. februar 2003 - 15:22 #19
ok, thnx :o)
Avatar billede dk_akj Nybegynder
27. februar 2003 - 15:23 #20
tak for pts

//akj
27. februar 2003 - 15:27 #21
øhh, jeg har slet ikke VBRUN.dll liggende på min maskine (selvom jeg har vb installeret)????
Kan den hedde noget andet?
Avatar billede dk_akj Nybegynder
28. februar 2003 - 07:08 #22
Her kan du se hvilke filer der er nødvendige.

VBRun er idag en en pakke med de nødvendige filer.

http://support.microsoft.com/default.aspx?scid=FH;[LN];vbruntime&
http://support.microsoft.com/default.aspx?scid=kb;en-us;Q290887

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