[delphi] rechtermuisknopmenu items toevoegen

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

  • Tim Schuhmacher
  • Registratie: Januari 2000
  • Laatst online: 19-09 18:12
in explorer / wincommander kan ik nu met de rechtermuisknop klikken op een bestand. Als die een bv een jpg is dan komt er in het menu oa. 'Open with ACDSee'.

Ook komt er bv 'icq - send to user' met een extra menuutje erachter met de online user op dat moment.

Nou wil ik eigenlijk een klein programma'tje maken dat ook in dat zelfde menu komt en bij bepaalde bestandstypen (gif jpg bmp) er dan komt te staan: 'resize to' met een uitklap menuutje met verschillende formaten.

Nou gaat het mij niet om het vergroten en verkleinen van de grafische bestanden, maar hoe krijg ik dat in het menuutje tevoor schijn. Dat zal wel in het register moeten (zoeken in het register naar 'Open with ACDSee' verklaarde niets). En hoe komt het te maken programma dan te weten welk bestand geresized moet worden. Of wordt die dan als argument meegegeven bij het opstarten van het programma?

Nou weet ik eigenlijk niet waarnaar ik moet zoeken met google oid. Dus wie kan mij op weg helpen.

Geen ervaring met register.

edit:
opzich hoeven die regels, die eventueel aan het register toegevoegd moeten worden, niet vanuit uit Delphi te gebeuren.
Die wil ik best zelf handmatig toevoegen.
(in principe is mijn vraag denk ik taal onafhankelijk)

Verwijderd

Ik zou niet gaan zoeken met google maar op Delphi3000.com of Torry.net. Vind je veel eerder wat voor Delphi ;)

  • Tim Schuhmacher
  • Registratie: Januari 2000
  • Laatst online: 19-09 18:12
'Nou weet ik eigenlijk niet waarnaar ik moet zoeken met google oid. Dus wie kan mij op weg helpen.'

Verwijderd

Voor VB en Visual C(++) kan je via de WinAPI allerlei shell dingen wijzigen (bijvoorbeeld je eigen "property" sheets enzo). Ik weet niet of je met Delphi direct de WinAPI kan aanspreken? Zo ja, dan zou je eens op msdn.microsoft.com kunnen gaan kijken bij "Platvorm SDK", "User interface services", "Shell" (of zoiets).

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

Delpix

Alanis Fan

...beter bekend als AMFan


Verwijderd

Op zaterdag 29 september 2001 16:08 schreef Delpix het volgende:
...register a menu entry to a File ?
Leuke site! Die kende ik nog niet, thanx! :)

Al zou ik die AddFileMenu procedure iets anders hebben geschreven, maar da's meer omdat ik try/finally constructies erg prettig vind.
Dan wordt 't iets als:
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
25
26
procedure AddFileMenu(Extension, Menu, Command: String);
var
  sType: string;
begin
  with TRegistry.Create do try
    RootKey := HKEY_CLASSES_ROOT;
    OpenKey('.' + Extension, True);
    try
    sType := ReadString('');
    if sType = '' then begin
      sType := Extension + 'file';
      WriteString('', sType);
    end;
    finally
    CloseKey;
    end;
    OpenKey(sType + '\shell\' + Menu + '\command', True);
    try
    WriteString('', Command + ' "%1"');
    finally
    CloseKey;
    end;
  finally
    Free;
  end;
end;

Doet 't zelfde, maar doet 't wat safer. :)

  • Tim Schuhmacher
  • Registratie: Januari 2000
  • Laatst online: 19-09 18:12
En dan nog mij 2e vraagje - hoe komen die bestanden in mijn programma.
of toch via argumenten? dus:

c:\project\progr.exe d:\afb\plaatje.jpg

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

Delpix

Alanis Fan

Op zondag 30 september 2001 16:07 schreef Tim Schuhmacher het volgende:
En dan nog mij 2e vraagje - hoe komen die bestanden in mijn programma.
of toch via argumenten? dus:

c:\project\progr.exe d:\afb\plaatje.jpg
ParamStr !

ParamStr(0) > c:\project\progr.exe
ParamStr(1) > d:\afb\plaatje.jpg
ParamStr returns a specified parameter from the command-line.

Unit

System

Category

miscellaneous routines

function ParamStr(Index: Integer): string;

Description

Index is an expression of type Integer. ParamStr returns the parameter from the command line that corresponds to Index, or an empty string if Index is greater than ParamCount. For example, an Index value of 2 returns the second command-line parameter.
ParamStr(0) returns the path and file name of the executing program (for example, C:\TEST\MYPROG.EXE).
;)

...beter bekend als AMFan

Pagina: 1