Willkommen ~Gast!
Registrieren || Einloggen || Hilfe/FAQ || Staff
Probleme mit der Registrierung im Forum? Melde dich unter registerEin Bild.
Autor Beitrag
000
28.01.2002, 08:37
tobsn



folgende frage:

wenn ich winzip installier ändert die installation das standart popup menü von der rechten maustaste (also wenncih eine datei anklicke) . Da gibts dann einen neuen punkt, zu ziparchiev hinzufügen.
jez würds mich interressieren ob man das auch selber machen kann

weis das wer? danke

--

zum Seitenanfang zum Seitenende Profil || Suche
001
28.01.2002, 09:12
Zeeke



Was andere können, kann man selber auch :)

Also imho musste man da irgendwo was in der Registry hinzufügen... lass doch einfach mal einen Registry-Überwacher laufen und installier dann ein Programm, welches neue Einträge zum Kontextmenü hinzufügt... dann siehst du ja wo...

--

zum Seitenanfang zum Seitenende Profil || Suche
002
28.01.2002, 09:18
CY4N1D3



hmmm...gibt es nicht auch ne codemöglichkeit ? die registrielösung is schwach ;)

HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Folder\shell

oder

HKEY_CLASSES_ROOT\Folder\shell

das währen (afaik) die registry lösungen :)

--

ob nun delphi, c oder java. kein programm lässt sich mit allen 3en gleichschnell entwickeln.


Dieser Beitrag wurde am 28.01.2002 um 09:21 von CY4N1D3 bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
003
28.01.2002, 10:51
apfelkorn



codemöglichkeit ist totaler blödsinn... willst du unbedingt den explorer komplett neuprogrammieren? *g*

im ernst... alles was direkt mit dem explorer zu tun hat, kann nich nochmal gecodet werden... die einzige lösung ist wenn dann die registry.

:)

--

zum Seitenanfang zum Seitenende Profil || Suche
004
28.01.2002, 11:46
Andy_



Explorer neucoden, garkeine schlechte Idee, das Teil ist bei mir Absturtzursache Nummer 1. *g*

Nunja, aba coden ist doch unlogisch wenns auch einfacher und effizienter geht.

--

42 Es gibt keinen Sinn des Lebens.

zum Seitenanfang zum Seitenende Profil || Suche
005
28.01.2002, 11:59
Zeeke



Explorer neucoden ist aber gar nicht wenig Arbeit würde ich mal sagen :P

Und das der so oft abstürzt, liegt wohl nicht direkt an der Explorer.exe...

--

zum Seitenanfang zum Seitenende Profil || Suche
006
28.01.2002, 12:04
CY4N1D3



nein... nicht den explorer neucoden... ich habe mich halt nur gefragt ob es dafür windows-functions gibt... naja... in jedem fall geht das halt mit den von mir oben genannten registrykeys

--

ob nun delphi, c oder java. kein programm lässt sich mit allen 3en gleichschnell entwickeln.

zum Seitenanfang zum Seitenende Profil || Suche
007
28.01.2002, 12:07
CY4N1D3



und BTW. explorer neucoden ist absolut kein problem. bei dem explorer handelt es sich neben dem dateimanager nur noch um diese beschissene "startbutton" oberfläche... absolut kein problem deshalb weil: ETWAS PROGRAMMIEREN WAS SOWIESO NICHT FUNKTIONIERT KANN ICH AUCH !!! *lol*

--

ob nun delphi, c oder java. kein programm lässt sich mit allen 3en gleichschnell entwickeln.

zum Seitenanfang zum Seitenende Profil || Suche
008
28.01.2002, 13:42
Kriz



Halte mal halte mal halte mal... =)

Der EXPLORER ist die Startleiste + der Desktop, das oberste Fenster von Windows. Der Dateimanager Windows-Explorer (bzw. NT-Explorer) ist ein eigenständiges Programm, daß immer eine Ebene unter dem EXPLORER liegt (wie jedes andere Programm auch)...

--

K:R-I)Z++
"CSS ist cascading style sheets. Und nicht so'n Ranzspiel." - dp
In memory of Voice († 2005/03/30)

zum Seitenanfang zum Seitenende Profil || Suche
009
28.01.2002, 14:11
Andy_



Jo, der Explorer ist wirklich net einfach ein 0815 Programm, sondern das, was Windows eigentlich ausmacht. Der Explorer ist nähmlich ein wichtiger teil der Oberflächen-ansicht von Windows... und arbeitet kontinuierlich. Ohne Explorer kann man keine programme per klicken starten, ordner ansehen usw.

Wenn man keinen Exploerer hätte, könnte man Windows gleich vergessen, da es dann seinem Namen nicht mehr gerecht würde.

Daher will ich erstmal sehen wie du ein neuen Explorer coden willst, der sogar zum Teil eine Instanz vom Kernel ist.

Tja, Windows ist nicht alles, was man nur sieht.

--

42 Es gibt keinen Sinn des Lebens.

zum Seitenanfang zum Seitenende Profil || Suche
010
28.01.2002, 17:52
tobsn



danke für die antworten nur leider hilft ma das nicht weiter, ich hab keine ahung was ich mit den einträgen in der registry machen soll.
könntes ihr mir das bitte ein bissl genauer erklären

danke

--

zum Seitenanfang zum Seitenende Profil || Suche
011
28.01.2002, 18:47
hausi



Das ganze ist so aufgebaut:
Quellcode:
Folder
.\DefaultIcon
.\Shell
..\Explore
[b]...\command
...\ddeexec[/b]
..\open
...

Der wichtige Teil ist der, der Fett ist.
Nun fügst du einfach in Folder\Shell einen neuen Ordner hinzu. Diesen nennst du, so wie du ihn möchtest *g*.
Als nächstes machst du einen neuen Ordner in Folder\Shell\DeinOrdner und nennst ihn command.
Hier drin noch den (Standart) bzw. (Default) bearbeiten und den Namen deines Programmes eingeben. Der Parameter "%1" ist der Name deines Ordners. Dann ev. (nicht getestet) noch neu starten und fertig.
Viel Spass mit deiner neuen Shell-Extension.
Cu, Superhausi.

Ich übernehme keine Verantwortung für eventuell durch diesen Post entstandenen Schäden etc.
Ich distanziere mich hiermit auch von dem ganzen Inhalt und habe das ganze nur gemacht, um zu zeigen, dass man doch auch mal könnte die anderen schon gegebenen Dinge anschauen und von diesen zu lernen.
Fertig und aus. 7:24 mit schreiben ;)

[Edit]
Nachtrag:
Der Ordner ddeexec ist für die DDE-Kommunikation zwischen der Explorer.exe und dem aufgerufenen Programm gedacht. Falls du nicht weisst, was das ist, ist das egal. Beispiele findest du bei einigen Datentypen (HKEY_CLASSES_ROOT\.Irgendwas).

--


Dieser Beitrag wurde am 28.01.2002 um 18:49 von Superhausi bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
012
28.01.2002, 20:15
apfelkorn



übrigens gibt es winapi-funktionen um überhaupt auf die registry zuzugreifen... das ganze nennt sich:

(jetzt für all die armen, die kein msdn haben, das wird länger:)

Zitat:

The RegCreateKey function creates the specified key. If the key already exists in the registry, the function opens it. This function is provided for compatibility with Windows version 3.1. Win32-based applications should use the RegCreateKeyEx function.

LONG RegCreateKey(
HKEY hKey, // handle to an open key
LPCTSTR lpSubKey, // address of name of subkey to open
PHKEY phkResult // address of buffer for opened handle
);

Parameters
hKey
Handle to a currently open key or one of the following predefined reserved handle values:
HKEY_CLASSES_ROOT
HKEY_CURRENT_CONFIG
HKEY_CURRENT_USER
HKEY_LOCAL_MACHINE
HKEY_USERS
Windows NT: HKEY_PERFORMANCE_DATA
Windows 95 and Windows 98: HKEY_DYN_DATA

The key opened or created by the RegCreateKey function is a subkey of the key identified by hKey.

lpSubKey
Pointer to a null-terminated string specifying the name of a key that this function opens or creates. This key must be a subkey of the key identified by the hKey parameter.
If hKey is one of the predefined keys, lpSubKey may be NULL. In that case, the handle returned by using phkResult is the same hKey handle passed in to the function.

phkResult
Pointer to a variable that receives a handle to the opened or created key. When you no longer need the returned handle, call the RegCloseKey function to close it.
Return Values
If the function succeeds, the return value is ERROR_SUCCESS.

If the function fails, the return value is a nonzero error code defined in WINERROR.H. You can use the FormatMessage function with the FORMAT_MESSAGE_FROM_SYSTEM flag to get a generic description of the error.

Remarks
An application can use the RegCreateKey function to create several keys at once. For example, an application can create a subkey four levels deep at the same time as the three preceding subkeys by specifying a string of the following form for the lpSubKey parameter:

subkey1\subkey2\subkey3\subkey4

The key identified by the hKey parameter must have been opened with KEY_CREATE_SUB_KEY access (KEY_WRITE access includes KEY_CREATE_SUB_KEY access).

If the lpSubKey parameter is the address of an empty string, the function opens and then passes back the key identified by the hKey parameter.

Quelle: Alles MSDN Library

p.s.: Bitte bringt mich nicht um für das posten diese überlangen Postes... Ich habe es zum Wohle und im Interesse einzelner gemacht :)

--


Dieser Beitrag wurde am 28.01.2002 um 20:16 von apfelkorn bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
013
28.01.2002, 20:18
tobsn



so da bin ich wieder
erstmal danke für die hilfe! *g*
aber das funktioniert alles nur im ordner folder, ich habs probiert bei file, hab ma dacht das geht genauso tus aber nicht.

danke tobsn

--

zum Seitenanfang zum Seitenende Profil || Suche
014
29.01.2002, 08:45
hausi



Sag mal genau, was du willst.
Willst du:
A) Dass man bei allen Files einen Menueintrag hat
B) Dass man bei allen Folders einen Menueintrag hat
C) Dass man bei gewissen Files einen Menueintrag hat *g*
D) Dass man bei einem Speziellen Ordner (z.B. Arbeitsplatz) einen Menueintrag hat.
oder
E) Einen neuen "Speziellen" Ordner (wie My Documents, allerdings angepasst auf deine Einstellungen) mit speziellem Inhalt und Kontextmenu etc.
Für all diese Fragen gibt es Antworten, die zum Teil relativ einfach bis auch extrem schwierig zu beantworten sind.
Wenn du dich für eine Antwort entschieden hast, werde ich dir die Lösung hier posten. Ich will aber nicht 10 Seiten schreiben und dann wolltest du nur Lösung C (welche übrigens die einfachste ist)...
[Edit]
Alle Lösungen kannst du für einen bzw. für alle Users machen. Für einen User macht das aber nicht so viel Sinn...

--


Dieser Beitrag wurde am 29.01.2002 um 08:47 von Superhausi bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
015
29.01.2002, 12:08
tobsn



erstmal danke für dein Engagement.

also was ich eigentlich wollt war das ich bei allen files einen neuen eintrag habe. (zb öffnen mit meinem programm, oder so), oder auch nur bei einem speziellen format. und das für alle user.

danke

--


Dieser Beitrag wurde am 29.01.2002 um 12:13 von tobsn bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
016
29.01.2002, 13:45
hausi



OK:
1. Für ein spezielles Format:
Doppelklick und dann dein Programm auswählen (falls noch nicht zugewiesen)
ansonsten Shift + Rechtsklick, Öffnen mit und dann das selbe...
2. Für alle Dateien:
Regedit starten, zu HKEY_CLASSES_ROOT\*\shellex gehen, neuen Ordner <MyProgram> anlegen.
Dort Default-Schlüssel bearbeiten und ClassID eintragen (ev. neue generieren)
Danach HKEY_CLASSES_ROOT\CLSID\<YourClassID> erstellen und dort folgendes erstellen:
ToolboxBitmap32 (Ordner)
InprocServer32 (Ordner)
Im Ordner ToolboxBitmap32 den default-key bearbeiten und dein Symbol eintragen
Im Ordner InprocServer32 den default-key bearbeiten und Adresse für die DLL zum handeln angeben (Tutorial zum schreiben dieser Datei im Web suchen).
Nun sollte eigentlich alles gehen...
<oder>
Die einfachere Möglichkeit (sollte eigentlich gehen, habs aber noch nie so gemacht):
In HKEY_CLASSES_ROOT\*\shellex\<YourProgram> den Ordner command erstellen und dort beim Default-Key dein Programm mit "%1" für den Dateinamen eingeben und dann sollte es (wie oben erwähnt, nicht getestet) auch gehen.

--

zum Seitenanfang zum Seitenende Profil || Suche
017
29.01.2002, 17:17
schlomo



@ Die Explorer Diskussion
-----------------------
Soo Wild ist es nicht nen Explorer zu schreiben....du kannst ja trotzdem die ganzen WinAPI Funktionen nutzen...
Du musst praktisch "nur" eine Oberfläche schreiben....
Wer LiteStep kennt, weiß, das sowas auch ganz nett aussehen kann...
Die URL ist bestimmt www.litestep.com ..
Sicher bin ih mir nicht

--

zum Seitenanfang zum Seitenende Profil || Suche