/ Forside / Teknologi / Udvikling / Delphi/Pascal / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Delphi/Pascal
#NavnPoint
oldwiking 603
jrossing 525
rpje 520
EXTERMINA.. 500
gandalf 460
gubi 270
DJ_Puden 250
PARKENSS 230
technet 210
10  jdjespers.. 200
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

Søg
Reklame
Statistik
Spørgsmål : 177549
Tips : 31968
Nyheder : 719565
Indlæg : 6408820
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste