|
| Tekstbehandlingsprogrammer Fra : Nico de Jong |
Dato : 11-05-06 07:02 |
|
Hej allesammen
I forbindelse med at flexibilere et installationsprogram, er jeg kommet
ud for et interessant lille problem.
Brugeren skal kunne definere hvilket tekstbehandlingsprogram han skal kunne
bruge som standard, hvilket så igen giver mig mulighed for at behandle mine
programmers output lidt mere fleksible, f.eks. adde en bitmap i en .DOC fil
Det der nu er mit spørgsmål, er hvordan hulen jeg kan finde ud af hvilke
tekstbehandlingsprogrammer han har liggende på PC'en, så jeg kan sætte dem
op i en listbox.
Jeg har kigget lidt på .LNK filer, men de bliver åbenbart fanget af
systemet, for når jeg åbner en LNK fil med UltraEdit e.l., får jeg direkte
fat i EXE filen.
Det eneste jeg umiddelbart kan få øje på, er at lave en løkke med FINDNEXT
osv, og så kigge efter bestemte filnavne, som NOTEPAD.EXE WINWORD.EXE o.l.
Nogen der har et bedre forslag ?
Nico
| |
Brian Andersen \(www~ (11-05-2006)
| Kommentar Fra : Brian Andersen \(www~ |
Dato : 11-05-06 07:46 |
|
> Det eneste jeg umiddelbart kan få øje på, er at lave en løkke med FINDNEXT
> osv, og så kigge efter bestemte filnavne, som NOTEPAD.EXE WINWORD.EXE o.l.
>
> Nogen der har et bedre forslag ?
Du kan kigge i registreringsdatabasen. Her er nøglerne altid ens uanset
hvilken udgave af Windows du kører. F.eks. hvis du vil se om brugeren har
Office installeret, så kig efter nøglen: \\HKLM\SOFTWARE\Microsoft\Office.
Det samme vil være gældende for WordPerfect, osv. Jeg kender desværre ikke
dette produkts nøgle.
Hvis du vil finde installationsmappen, så kig i nøglen 10.0 eller 8.0,
osv. F.eks. for at finde Office 2000, så skal du kigge i nøglen:
\\HKLM\SOFTWARE\Microsoft\Office\10.0\Common\InstallRoot\Path.
De fleste anerkendte software producenter skriver disse informationer i
Registreringsdatabasen på en eller anden facon.
Jeg håber du kan bruge ideen til noget.
/Brian
| |
Nico de Jong (11-05-2006)
| Kommentar Fra : Nico de Jong |
Dato : 11-05-06 07:48 |
|
"Brian Andersen ( www.europeansoftwarehouse.com)" <x@x.x> skrev i en
meddelelse news:n1B8g.9$lv1.0@news.get2net.dk...
> > Det eneste jeg umiddelbart kan få øje på, er at lave en løkke med
FINDNEXT
> > osv, og så kigge efter bestemte filnavne, som NOTEPAD.EXE WINWORD.EXE
o.l.
> >
> > Nogen der har et bedre forslag ?
>
> Du kan kigge i registreringsdatabasen. Her er nøglerne altid ens uanset
> hvilken udgave af Windows du kører.
Glimrende ide. Den vil jeg dyrke lidt. Med lidt held kan jeg så også finde
ikon og/eller path til programmet.
Tak skal du ha'
Nico
| |
Michael Zedeler (11-05-2006)
| Kommentar Fra : Michael Zedeler |
Dato : 11-05-06 09:11 |
|
Brian Andersen ( www.europeansoftwarehouse.com) wrote:
>>Det eneste jeg umiddelbart kan få øje på, er at lave en løkke med FINDNEXT
>>osv, og så kigge efter bestemte filnavne, som NOTEPAD.EXE WINWORD.EXE o.l.
>>
>>Nogen der har et bedre forslag ?
>
>
> Du kan kigge i registreringsdatabasen. Her er nøglerne altid ens uanset
> hvilken udgave af Windows du kører. F.eks. hvis du vil se om brugeren har
> Office installeret, så kig efter nøglen: \\HKLM\SOFTWARE\Microsoft\Office.
> Det samme vil være gældende for WordPerfect, osv. Jeg kender desværre ikke
> dette produkts nøgle.
>
> Hvis du vil finde installationsmappen, så kig i nøglen 10.0 eller 8.0,
> osv. F.eks. for at finde Office 2000, så skal du kigge i nøglen:
> \\HKLM\SOFTWARE\Microsoft\Office\10.0\Common\InstallRoot\Path.
>
> De fleste anerkendte software producenter skriver disse informationer i
> Registreringsdatabasen på en eller anden facon.
Hvis endelig man skal kigge i registreringsdatabasen, er det i
HKEY_CLASSES_ROOT hvor operativsystemet netop specificerer hvilke filer
der skal åbnes i hvilke programmer. Det ser ud til at du skal bruge en
kombination af OpenWithList og Shell.Open.command.
Mvh. Michael.
--
Which is more dangerous? TV guided missiles or TV guided families?
Visit my home page at http://michael.zedeler.dk/
Get my vcard at http://michael.zedeler.dk/vcard.vcf
| |
Brian Andersen \(www~ (11-05-2006)
| Kommentar Fra : Brian Andersen \(www~ |
Dato : 11-05-06 09:20 |
|
> Hvis endelig man skal kigge i registreringsdatabasen, er det i
> HKEY_CLASSES_ROOT hvor operativsystemet netop specificerer hvilke filer
> der skal åbnes i hvilke programmer. Det ser ud til at du skal bruge en
> kombination af OpenWithList og Shell.Open.command.
>
Ja, men der er bare et problem med den metode, og det er, at andre
programmer kan "overtage" andre programmers endelser. Det vil sige, at hvis
du kigger efter .doc, så kan det være WordPerfect, eller et helt 3. program,
som også anvender dog. Tag eksempelvis endelsen .txt, .dat, osv. Disse
endelser kan ikke relateres til nogle bestemte programmer.
/Brian
| |
Michael Zedeler (11-05-2006)
| Kommentar Fra : Michael Zedeler |
Dato : 11-05-06 09:51 |
|
Brian Andersen ( www.europeansoftwarehouse.com) wrote:
>>Hvis endelig man skal kigge i registreringsdatabasen, er det i
>>HKEY_CLASSES_ROOT hvor operativsystemet netop specificerer hvilke filer
>>der skal åbnes i hvilke programmer. Det ser ud til at du skal bruge en
>>kombination af OpenWithList og Shell.Open.command.
>>
>
> Ja, men der er bare et problem med den metode, og det er, at andre
> programmer kan "overtage" andre programmers endelser.
Prøv selv at kigge på OpenWithList i registry-databasen. Det er en liste.
> Det vil sige, at hvis
> du kigger efter .doc, så kan det være WordPerfect, eller et helt 3. program,
> som også anvender dog. Tag eksempelvis endelsen .txt, .dat, osv. Disse
> endelser kan ikke relateres til nogle bestemte programmer.
Jeps. Det sker i Shell.Open.Command. Der er muligvis nogle flere steder,
man skal kigge, men jeg er ret sikker på at det betaler sig bedst at
kigge i HKEY_CLASSES_ROOT. Det bliver en kæmpe opgave at sætte sig in i
hvordan de forskellige programmer (og allle deres versioner) registrerer
sig i registreringsdatabasen.
Mvh. Michael.
--
Which is more dangerous? TV guided missiles or TV guided families?
Visit my home page at http://michael.zedeler.dk/
Get my vcard at http://michael.zedeler.dk/vcard.vcf
| |
Brian Andersen \(www~ (11-05-2006)
| Kommentar Fra : Brian Andersen \(www~ |
Dato : 11-05-06 10:42 |
|
> Prøv selv at kigge på OpenWithList i registry-databasen. Det er en liste.
Jaahh, men i min OpenWith liste ser jeg kun WordPad.exe selvom jeg har
installeret Office 2000 *s*.
/Brian
| |
Michael Zedeler (11-05-2006)
| Kommentar Fra : Michael Zedeler |
Dato : 11-05-06 12:53 |
|
Brian Andersen ( www.europeansoftwarehouse.com) wrote:
>>Prøv selv at kigge på OpenWithList i registry-databasen. Det er en liste.
>
> Jaahh, men i min OpenWith liste ser jeg kun WordPad.exe selvom jeg har
> installeret Office 2000 *s*.
Jeps. Kig i Shell.Open.Command under den tilhørende filtype. Der finder
du nok Word.exe.
Mvh. Michael.
--
Which is more dangerous? TV guided missiles or TV guided families?
Visit my home page at http://michael.zedeler.dk/
Get my vcard at http://michael.zedeler.dk/vcard.vcf
| |
|
|