Eintrag in Registry erstellen

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
Then
Beiträge: 287
Registriert: 06.09.2004 13:26
Wohnort: Siegen

Eintrag in Registry erstellen

Beitrag von Then »

Hallo zusammen,

ich versuche einen Eintrag in die Registry vorzunehmen und komme einfach nicht weiter :(
Folgender Eintrag soll ins Kontextmenü des Windows-Explorers hinzugefügt werden : "an [MEIN TOOL] senden"
Es sollte Benutzerspezifisch sein, weil ich keine Adminrechte nutzen möchte. Ich schaffe es nicht.
Thema Registry ist scheinbar nicht so einfach, oder ? Kann mir bitte jemand helfen ?
PB 6.10LTs / Windows 11 64Bit 25H2

... ich mache dazu keine Aussage, weil ich mich damit selbst belasten könnte !
Benutzeravatar
HeX0R
Beiträge: 3051
Registriert: 10.09.2004 09:59
Computerausstattung: AMD Ryzen 7 5800X
96Gig Ram
NVIDIA GEFORCE RTX 3060TI/8Gig
Win11 64Bit
G19 Tastatur
2x 24" + 1x27" Monitore
Glorious O Wireless Maus
PB 3.x-PB 6.x
Oculus Quest 2 + 3
Kontaktdaten:

Re: Eintrag in Registry erstellen

Beitrag von HeX0R »

Das steht nicht in der Registry, Du musst "nur" eine Verknüpfung im SendTo Ordner für Dein Tool anlegen.
Den allerdings findest Du tatsächlich am besten per Registry:

Code: Alles auswählen

Procedure.s GetRegistryValue(HotKey.i, Path.s, Key.s)
	Protected Result.s, hKey, lpcbData, *lpData, lpType


	If RegOpenKeyEx_(HotKey, Path, 0, #KEY_READ, @hKey) = #ERROR_SUCCESS
		If RegQueryValueEx_(hKey, @Key, #Null, #Null, #Null, @lpcbData) = #ERROR_SUCCESS
			*lpData = AllocateMemory(lpcbData)
			If *lpData
				If RegQueryValueEx_(hKey, @Key, 0, @lpType, *lpData, @lpcbData) = #ERROR_SUCCESS
					Select lpType
						Case #REG_SZ
							Result = PeekS(*lpData)
						Case #REG_DWORD
							Result = Str(PeekL(*lpData))
						Case #REG_QWORD
							Result = Str(PeekQ(*lpData))
					EndSelect
				EndIf
				FreeMemory(*lpData)
			EndIf
		EndIf
		RegCloseKey_(hKey)
	EndIf

	ProcedureReturn Result
EndProcedure

Debug GetRegistryValue(#HKEY_CURRENT_USER, "Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders", "SendTo")
Irgendwo im Forum gibt's auch Code, wie man Shortcuts erstellt.
(Das ist aber übrigens auch nicht so trivial)
Benutzeravatar
Then
Beiträge: 287
Registriert: 06.09.2004 13:26
Wohnort: Siegen

Re: Eintrag in Registry erstellen

Beitrag von Then »

Hi, vielen Dank, der Ansatz ist gut (den merke ich mir), aber leider nicht ganz das, was ich suche/benötige.

In Windows11 muss man ja mit der rechten Maustaste auf "Weitere Optionen", dann auf "Senden an" und dann mein Programm wählen.
ich hätte gerne einen Eintrag direkt im ersten Menü.
PB 6.10LTs / Windows 11 64Bit 25H2

... ich mache dazu keine Aussage, weil ich mich damit selbst belasten könnte !
Benutzeravatar
Then
Beiträge: 287
Registriert: 06.09.2004 13:26
Wohnort: Siegen

Re: Eintrag in Registry erstellen

Beitrag von Then »

Ich habe mich gerade schlau gemacht. Mit einfachen Mitteln ist das nicht möglich. Man braucht externe Programme, die den Style manipulieren.

ich suche dann mal ne andere Lösung, vielen Dank trotzdem !!
PB 6.10LTs / Windows 11 64Bit 25H2

... ich mache dazu keine Aussage, weil ich mich damit selbst belasten könnte !
Benutzeravatar
HeX0R
Beiträge: 3051
Registriert: 10.09.2004 09:59
Computerausstattung: AMD Ryzen 7 5800X
96Gig Ram
NVIDIA GEFORCE RTX 3060TI/8Gig
Win11 64Bit
G19 Tastatur
2x 24" + 1x27" Monitore
Glorious O Wireless Maus
PB 3.x-PB 6.x
Oculus Quest 2 + 3
Kontaktdaten:

Re: Eintrag in Registry erstellen

Beitrag von HeX0R »

Wird Dir zwar nix nützen, aber trotzdem ein Tipp:
Ich nutze Open-Shell-Menu bei allen meinen Windows 11 Rechnern, weil ich mit dieser verblödeten Zwangsumstellung nie klar gekommen bin.
Axolotl
Beiträge: 287
Registriert: 31.12.2008 16:34

Re: Eintrag in Registry erstellen

Beitrag von Axolotl »

Das beste was ich gefunden habe ist das (Shift + RightMouseButton) Context Menu zu ergänzen.

Alle versprechen, dass das Context Menu geändert werden kann, dann ist es aber nie das "erste" aufspringende Menu, sondern das "weitere".
Es gibt eine Reihe von Freeware Tools, die das angeblich können..... Ich habe aber keins ausprobiert.
Beispiel: ContextMenuForWindows11


Man kann auch das moderne Menu gegen das Alte austauschen. (Nicht probiert, weil ist ja auch irgendwie uncool.)

Ansonsten findest du hier Hilfe wie man einen File-Shortcut anlegt:
Create Desktop Shortcuts (Windows)
Using PureBasic latest stable version and current alpha/beta (x64) on Windows 11 Home
Antworten