[win32] Automatisch extensie aan programma koppelen.

Pagina: 1
Acties:
  • 128 views sinds 30-01-2008
  • Reageer

  • whoami
  • Registratie: December 2000
  • Laatst online: 22:20
'k Ben bezig een SQL-editortje te maken. Het is de bedoeling dat de sql statements kunnen opgeslagen worden in bestanden met default-extensie *.sql. Nu wil ik dat die *.sql bestanden gekoppeld worden aan mijn editor. Ik vermoed dat die koppelingen in het Windows registry opgeslagen worden, maar weet iemand in welk onderdeel van de registry ik dit kan terugvinden?

https://fgheysels.github.io/


  • KlaasB
  • Registratie: Juli 2000
  • Laatst online: 01-07-2024
Je dubbelklikt het programma, als windows het nog niet kent, vraagt ie met welk programma je het wilt openen. Je kiest je editor, en vinkt het 'altijd dit programma gebruiken' hokje aan.
Als je al een een koppeling gemaakt het, het icoontje met rechts aanklikken terwijl je de shift knop ingeduwd houdt, en dan voor Openen met... kiezen.

Wat dit overigens met Programming & Webscripting te maken heeft, is me nog niet helemaal duidelijk.

It's not a bug, it's a feature


  • Gerco
  • Registratie: Mei 2000
  • Laatst online: 21:49

Gerco

Professional Newbie

Ja, in HKEY_CLASSES_ROOT

maare, je kunt beter even bij Tools -> Folder Options -> File Types kijken, dat scheelt een boel werk.

Als je het in code wilt doen, zal je hier misschien wat aan hebben: http://www.jrsoftware.org/isfaq.htm#assoc

- "Als ik zou willen dat je het begreep, legde ik het wel beter uit!" | All number systems are base 10!


  • whoami
  • Registratie: December 2000
  • Laatst online: 22:20
Ik wil mbhv een setup programma die registrykey automatisch laten aanmaken als mijn programma geinstalleerd wordt.

https://fgheysels.github.io/


  • Delpix
  • Registratie: September 2001
  • Laatst online: 27-11-2021

Delpix

Alanis Fan

Ik heb laatst nog zoiets in Delphi gedaan met de volgende procedure:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
uses registry,sysutils,windows,shlobj,shellApi;

procedure RegistreerBestandsTypen(prefix:String; exepfad:String);
var
  reg:TRegistry;
begin
  reg:=TRegistry.Create;
  reg.RootKey:=HKEY_CLASSES_ROOT;
  reg.OpenKey('.'+prefix,True); 
  reg.WriteString('',prefix+'file'); 
  reg.CloseKey; 
  reg.CreateKey(prefix+'file'); 
  // Icoontje
  reg.OpenKey(prefix+'file\DefaultIcon',True); 
  // Plaats waar de icoon is opgeslagen
  reg.WriteString('',exepfad+',0');
  reg.CloseKey;
  reg.OpenKey(prefix+'file\shell\open\command',True);
  // Plaats waar je programma staat --> c:\project1.exe "%1" 
  reg.WriteString('',exepfad+' "%1"'); 
  reg.CloseKey;
  reg.Free; 
  SHChangeNotify(SHCNE_ASSOCCHANGED, SHCNF_IDLIST, nil, nil); 
end;

En je spreekt em zo aan:
code:
1
RegistreerBestandsTypen('sql',paramstr(0));

...beter bekend als AMFan


  • whoami
  • Registratie: December 2000
  • Laatst online: 22:20
Thx, zal het eens bekijken.

https://fgheysels.github.io/


  • flipjevandejam
  • Registratie: April 2000
  • Laatst online: 19:47
IK weet dat ik hiermee een oeroud topic omhoog schop, maar ik heb toch een vraag die wel in dit topic past en om daar dan weer een nieuw topic voor te openen... :z

Ik heb een CD-rom gemaakt met een heel aantal DivX filmpjes erop die ik af laat spelen door BS Player.

Nu om dat afspelen enzo zo smooth mogelijk te laten verlopen heb ik per filmpje een .bsi bestandje gemaakt, wat specifiek voor BS Player is zegmaar (een soort .ini bestand).

Maar als ik de CD-rom in een computer stop die nog nooit van BS Player en .bsi bestanden heeft gehoord krijg je dus zo'n "Programma selecteren" schermpje zodra je op een .bsi bestand dubbelklikt :/

Mijn vraag was dan ook of hier misschien een .bat bestandje voor te maken is om ervoor te zorgen dat hij automatisch .bsi bestandjes aan Bplay.exe koppelt dat ook op de CD-rom staat ?

Ik heb het Delphi stukje van Delpix hieronder bekeken, maar ik ken Delphi helemaal niet en ik weet dus ook niet wat ik daarmee moet :|

Als iemand me verder kan helpen ben ik hem/haar (natuurlijk) zeer dankbaar omdat het voor mijn PWS (ProfielWerkStuk -> 6 VWO) is _/-\o_ :Y)

  • whoami
  • Registratie: December 2000
  • Laatst online: 22:20
Tja, het antwoord staat toch al in dit topic hoor, al is het dan in Delphi code.
het moet makkelijk te vertalen zijn naar de taal die jij gebruikt. Het is niets meer dan enkele registry-keys in het register wegschrijven.

https://fgheysels.github.io/


  • bille
  • Registratie: Mei 2000
  • Laatst online: 05-08 23:45

bille

Don't call me Buff

hmjah wat je dus wilt eigelijk is een autorun-cd die bij het opstarten automagisch een exe o.i.d. uitvoert die het één en ander in je register zet en vervolgens je filmpie opstart met BSplayer die als parameter ook meteen het bsi filetje laadt om zijn settings in te lezen?

je zult iig zelf een exe moeten maken gezien je dat allemaal on-the-fly wilt doen. Die exe moet helemaal transparant alle zooi installeren.. en daarna die player opstarten..

[ Voor 25% gewijzigd door bille op 04-01-2003 14:55 ]

Ultra Pilammo 6666Mhz AMD, 4251Mbit/s RAM, Gefors V6666 MegaTurbo, 43" TFS, Ultra 80Gig Firewire netwerkkaart en 5D geluid met 66 speakers in 5 dimensies


  • flipjevandejam
  • Registratie: April 2000
  • Laatst online: 19:47
Nee niet zo zeer een autorun cd, meer een .bat .exe of .reg bestandje (:?) ofzo dat idd een (aantal) key(s) aanmaakt zodat als de .bsi bestanden uitgevoerd worden ze geassocieerd worden met %cdrom:%\bplay.exe zegmaar..

Kort gezegd gewoon bijv. een .bat bestandje om het "Programma selecteren" te omzeilen en .bsi aan bplay.exe te koppelen

Over dat Dephi, ik gebruik momenteel nog helemaal geen "taal" dat komt omdat ik momenteel alleen html goed ken en sql en java een beetje, sorry :/

Maar als jij/iemand me kan uitleggen hoe ik dat Delphi kan aanpassen of "vertalen" dan wil ik dat graag leren :)

  • whoami
  • Registratie: December 2000
  • Laatst online: 22:20
flipjevandejam schreef op 04 januari 2003 @ 14:56:

Maar als jij/iemand me kan uitleggen hoe ik dat Delphi kan aanpassen of "vertalen" dan wil ik dat graag leren :)


Tja, als je nog geen andere taal gebruikt, dan schrijf je misschien best een progje in Delphi die die waardes naar de registry gaat gaan schrijven.
Of, als je gebruikt maakt van een installatie-programmatje ala InstallShield, kan je in uw 'SetupProject' ook aangeven welke registry keys er moeten bijgemaakt wordne;

https://fgheysels.github.io/


  • flipjevandejam
  • Registratie: April 2000
  • Laatst online: 19:47
Even voor de duidelijkheid, het zit namelijk zo:

Ik maak samen met een andere gozer een Scheikunde instructie-CD-rom voor proefjes, naja hij maakt de interface zegmaar in Flash en maakt in het flash-gedeelte dus ook een x-aantal buttons die linken naar de .bsi bestanden.

Deze bestanden zijn weer gelinkt (dmv van dat .bat) aan bplay.exe die ze verder uitvoerd, daar zit mijn probleem niet, het zit momenteel puur in dat als ik nu de CD-rom in een computer stop zonder Flash en DivX en associatie met .bsi bestanden dat ik :

• De gebruiker de Flash setup uit laat voeren
• De gebruiker de Divx 5.02 setup uit laat voeren
• De gebruiker hopelijk het toekomstige .bat of .exe of .reg of wat dan ook uit laat voeren zodat hij .bsi bestanden koppelt aan bplay.exe

bplay.exe = BS Player die gelijk vanaf de CD-rom kan starten, die hoeft niet geïnstalleerd te worden ofzo.

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 16:13

.oisyn

Moderator Devschuur®

Demotivational Speaker

whoami toch, wel het platform in je topictitel proppen! ;)
.edit: oh, oud topic :)

[ Voor 18% gewijzigd door .oisyn op 04-01-2003 15:30 ]

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


  • flipjevandejam
  • Registratie: April 2000
  • Laatst online: 19:47
Is het niet gewoon mogelijk er een .reg bestand van te maken ?

InstallShield is namelijk minimaal 120 MB !!
Dat is iets te groot om zo 1-2-3 over mijn 64k ISDN lijntje te gooien hehe :+ 8)7

Verders heb ik zitten denken, een CD-rom drive heeft natuurlijk in elke computer een andere drive-letter, hoe zou ik dat kunnen fixen in de code ?

Hoe kan ik verder eigenlijk werken met die Delphi code ?
Kan ik dat gewoon in een .txt bestandje zetten, iets bewerken en hernoemen naar -> ja naar wat eigenlijk ??

[ Voor 20% gewijzigd door flipjevandejam op 04-01-2003 16:31 . Reden: toevoeging ]


  • flipjevandejam
  • Registratie: April 2000
  • Laatst online: 19:47
:)
Ik/We hebben het al kunnen fixen niet door de .bsi bestanden te gebruiken waar ik het over had, maar door de command line toevoegingen die je bij BS Player ook kan maken:

Bijv.: \"directory"\bplay.exe mijn divxfilm.avi -fs -eend

Dit houd in dat hij dus "mijn divxfilm.avi" afspeeld in fullscreen en dat hij bij het einde automatisch afsluit :)

Nu had ik dit al eerder al bekeken, maar werkte dit niet omdat ik toen een locatie voor en het bplay.exe (BS player) en voor de film had die beide spaties bevatten |:(

Nu blijkt dus dat dat "niet mag" en dat hij het dus zonder spaties (of met underscores) wel te werken :*) (8>

Verder konden we eerst ook niet vinden hoe we konden linken naar een extern bestand in Flash (5), maar dit kan blijkbaar dus via "Action" (als je een button hebt gemaakt natuurlijk) en dan "Get URL" en dan :

URL : file://"directory"\bplay.exe mijn divxfilm.avi

Nu is het enige probleem nog dat als je nu op de button klikt hij het bestand "Download" en dan vraagt of je "het wilt opslaan of wilt openen vanaf de huidige locatie" en dus speeld hij het niet gelijk af :|

Weet iemand hier een oplossing voor ? Ik heb namelijk ook geprobeerd via FScommand het uit te laten voeren (dit is een andere optie bij "Action"), maar dit werkte niet.
(Het schijnt overigens wel goed te kunnen met Director en dit ga ik morgen dus ook nog proberen :) )

Verder wilde ik ook nog weten hoe je naar de CD-rom kan linken, ja het klinkt misschien erg dom, maar omdat de CD-rom die we maken in allerlei verschillende computers gebruikt gaat worden en al die computers verschillende Driveletters gebruiken voor de CD-rom....

Ik heb een hele tijd terug een keertje iets gelezen van %CD-rom%\"verdere directory"
Klopt dit een beetje of slaat dit weer helemaal nergens op, en zoniet, hoe kan ik het wel fixen ?

  • whoami
  • Registratie: December 2000
  • Laatst online: 22:20
Als je een film hebt, met spaties in de naam kun je dat AFAIK oplossen door:
code:
1
"c:\player\movieplayer\bestandsnaam met spatie.bsi"

Let op de quotes

Maargoed, dit heeft nog weinig met P&W te maken imho.

https://fgheysels.github.io/


  • flipjevandejam
  • Registratie: April 2000
  • Laatst online: 19:47
Hmm, ja als het volgens jou weinig tot niets meer met P&W te maken heeft (wat ik wel een beetje kan begrijpen), zou je hem dan kunnen moven naar W&G (ivm dat het nu over Flash gaat idd) ?

Ik zou namelijk wel graag antwoord op mijn laatste 2 vragen willen hebben als dat kan, het is heel belangrijk voor me/ons zoals je misschien al begrepen had.... :)

[ Voor 2% gewijzigd door flipjevandejam op 05-01-2003 13:10 . Reden: smilie ]


  • whoami
  • Registratie: December 2000
  • Laatst online: 22:20
flipjevandejam schreef op 05 January 2003 @ 13:08:
Hmm, ja als het volgens jou weinig tot niets meer met P&W te maken heeft (wat ik wel een beetje kan begrijpen), zou je hem dan kunnen moven naar W&G (ivm dat het nu over Flash gaat idd) ?

Ik zou namelijk wel graag antwoord op mijn laatste 2 vragen willen hebben als dat kan, het is heel belangrijk voor me/ons zoals je misschien al begrepen had.... :)


Misschien open je daarvoor best een nieuw topic in W&G. (Een duidelijk, waarin je goed uitlegt wat het probleem is, welke tools je wilt gebruikten etc...).

https://fgheysels.github.io/


  • MisterData
  • Registratie: September 2001
  • Laatst online: 21:52
Als je een goed installatieprogramma zoekt, kijk dan naar Nullsoft's NSIS (te vinden op www.nullsoft.com denk ik). Daarmee kun je dit soort entries in het register geloof ik makkelijk maken (dmv een script), en het is opensource, dus je kan het zelf uitbreiden :) Met NSIS kan de installatie ook onzichtbaar (dus ook vanaf CD) en kan ook programma's als IE opstarten enzo :)

[ Voor 19% gewijzigd door MisterData op 05-01-2003 19:39 ]


Verwijderd

Voor NSIS kun je beter op http://nsis.sf.net kijken en daar de laatste development snapshot downloaden.

[ Voor 4% gewijzigd door Verwijderd op 05-01-2003 20:08 ]

Pagina: 1