![]() |
TNA
hi,
ich hab ein kleines Programm geschrieben, welches ir die id eines iButton bestimmt. Das Ploblem ist, dass beim Autostart das Programm nicht richtig funktioniert bzw. das Icon in der TNA nicht da ist. Hier der Code: -für die Regestry
Delphi-Quellcode:
Procedure TiButtonSecuritySystem.CreateAutorunEntry; var Reg: TRegistry; begin Reg := TRegistry.create; try Reg.RootKey := HKEY_LOCAL_MACHINE; Reg.OpenKey('Software\Microsoft\Windows\CurrentVersion\Run', True); Reg.WriteString(Application.Title,ParamStr(0)); finally Reg.Free; end; end; -und die TNA
Delphi-Quellcode:
-und beim createn
procedure TiButtonSecuritySystem.TaskBarAddIcon;
var tnid: TNotifyIconData; Owner: HWnd; begin with tnid do begin cbSize := SizeOf(TNotifyIconData); Wnd := iButtonSecuritySystem.Handle; uID := 1; uFlags := NIF_MESSAGE or NIF_ICON or NIF_TIP; uCallbackMessage := WM_TASKBAREVENT; hIcon := Application.Icon.Handle; end; StrCopy(tnid.szTip, 'iSS'); Shell_NotifyIcon(NIM_ADD, @tnid); Owner:=GetWindow(iButtonSecuritySystem.Handle,GW_OWNER); If Owner<>0 Then ShowWindow(Owner,SW_HIDE); end; procedure TiButtonSecuritySystem.TaskBarRemoveIcon; var tnid: TNotifyIconData; Owner: HWnd; begin tnid.cbSize := SizeOf(TNotifyIconData); tnid.Wnd := iButtonSecuritySystem.Handle; tnid.uID := 1; Shell_NotifyIcon(NIM_DELETE, @tnid); Owner:=GetWindow(iButtonSecuritySystem.Handle,GW_OWNER); If Owner<>0 Then Begin ShowWindow(Owner,SW_Show); ShowWindow(Owner,SW_Normal); End; end; procedure TiButtonSecuritySystem.WMTaskbarEvent(var Message: TMessage); var Point: TPoint; begin case Message.LParamLo of WM_LBUTTONDOWN: showmessage('ok'); WM_RBUTTONDOWN: begin SetForegroundWindow(Handle); GetCursorPos(point); popupmenu1.popup(point.x,point.y); end; end; end; procedure TiButtonSecuritySystem.FormClose(Sender: TObject; var Action: TCloseAction); begin TaskBarRemoveIcon; end;
Delphi-Quellcode:
Schonmal Danke
Icon.LoadFromFile('iss_normal.ICO');
Application.Icon.LoadFromFile('iss_normal.ico'); [edit=Admin]Codetags durch Delphitags ersetzt. Mfg, Daniel[/edit] |
Re: TNA
:?
Zitat:
|
DP-Maintenance
Dieses Thema wurde von "alcaeus" von "Programmieren allgemein" nach "Windows API / MS.NET Framework API" verschoben.
Eindeutig eine Delphi-Frage, und damit schon in der falschen Sparte... |
Re: TNA
Is ja herzig. "Wenn ich Windows starte kommt bei mir kein Word." so ungefähr klingt deine "Fehlerbeschreibung" für mich.
a.) Hast du vielleicht mal dran gedacht Fehlerüberprüfungen einzubauen? Fehlercodes auszugeben? b.) Was meinst du mit "Icon erscheint nicht"? Wird es nicht angezeigt? Wird nichtmal Platz auf der TNA für ein Icon geschaffen? Schlagen die Aufrufe fehl? Also dein Code ist schön und gut, aber ich hoffe du denkst nicht, daß sich hier jeder potentielle Antworter deinen Code nimmt, ein eigenes Projekt aufmacht und dann austestet was denn nun genau der Fehler sei :-? |
Re: TNA
hi,
Zitat:
b) Das Icon wird nicht angezeigt. Es wird auch kein platz daür gemacht. Das Programm liest nicht die ID des iButtons - es tut nichts. Wenn es ohne Autostart gestartet wird funzt es. Ich habe niemandem gesagt er solle den Code kopieren und testen. Das Problem ist wieschon erwähnt, dass das Programm nicht mit dem Autostart funzt. Kann es sein das alle ico dateien irgendwo bestimt abgespeichert werden müssen? |
Re: TNA
Moin moin,
Zitat:
|
Re: TNA
Zitat:
Wenn du die ICOs als Ressourcen in deine EXE eingebunden hast, sollte es wunderbar funktionieren. |
Re: TNA
hi,
folgende Fehlermeldung erscheint nach dem Starten des Rechners: Can not open File blabla Wie geht das it dem res an den Projekt anhängen? Ich hab es mal ohne mein ico probiert - mit dem Delphi ico ging es! |
Re: TNA
Zitat:
Eine Ressourcendatei (.RC) erstellst du als Textdatei. Darin legst du für das Icon einen Identifier fest (das ist eine Zahl oder ein String). Außerdem gibst du an von welcher Datei es importiert werden soll (das Icon). Hier die Syntax:
Code:
Rot: Der Identifier. Wie gesagt eine Zahl oder ein String
[color=red]MAINICON[/color] ICON [color=green]DISCARDABLE[/color] [color=blue]"Assarbad.ico"[/color]
Grün: Attribut. Dieses ist optional. Blau: Relativer oder absoluter Pfad zum Icon Der niedrigste Identifier bestimmt das Icon der Anwendung im Explorer! Das Script (*.RC) mit BRCC32.EXE deines Delphi oder RC.EXE aus dem PSDK kompilieren. Danach das Resultat (*.RES) mit
Code:
einbinden.
{$R <Pfad zum Resultat>}
|
Re: TNA
danke für die Hilfe.
Ich hab jetzt schon ne Lösung: Ich hab einfach unter Projekt-Optionen das gewünschte ico geladen. trotzdem danke! |
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:25 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz