Autor Beitrag
Calyptus
ontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic starofftopic star
Beiträge: 386

Win Xp Prof
D3, D6 Pers, D7 Ent
BeitragVerfasst: Mi 12.01.05 19:11 
Hallo zusammen!

Ich finde die standart Windows Suche nicht so gelungen und hab mir jetzt eine eigene geschrieben. Ich würde jetzt gerne die WS durch meine ersetzen. Es würde schon reichen, wenn ich in einem Ordner auf den Suchen Button drück das dann nicht die WS sondern meine gestartet wird. Wenn Start -> Suchen sich auch noch ersetzen liese wärs super :-)

_________________
Luft- und Raumfahrtechnik an der Uni Stuttgart
Calyptus Threadstarter
ontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic starofftopic star
Beiträge: 386

Win Xp Prof
D3, D6 Pers, D7 Ent
BeitragVerfasst: Do 13.01.05 17:28 
Hat keiner eine Ahnung? Oder geht es garnicht?

_________________
Luft- und Raumfahrtechnik an der Uni Stuttgart
Karlson
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 2088



BeitragVerfasst: Do 13.01.05 21:02 
Hallo,

Geht wahrscheinlich wieder mal nur über einen API hook.


Unsauber kannst du es natürlich auch über einen Trick machen, dafür benötigst du allerdings ein kleines Programm das durchgänig läuft, am besten wäre es mit einem Api hook, der das starten eines Prozesses hoockt. Wenn du dazu allerdings keine Lust hast, reicht ein Timer.

Such daraufhin einfach nach nem Window mit dem Titel, der Windowshilfe. Bei mir heisst das unglücklicherweise Windows 2000. Also musst du, wenn du ein solches Window findest, mit FindWindowEx weitersuchen, und am besten prüfen ob der Aufbau des Fensters stimmt, du suchst also nahch nem SysTabControl32, dem SysListview und auch noch nachdem inetexplorer server (der Frame rechts).

Wenn das alles gefunden wurde, kannst du dir relativ sicher sein, dass das die Suche ist. Dann schickst du eine close message an das Suchefenster, und startest deine Hilfe.

Wie gesagt, wenns da ein Fenster gibt, das durch zufall das Grundgerüst des Hilfefensters hat, hast du geitten ;)
Gothicware
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 77

Win 98, Win 2000, Win XP, BeOs-R5, Zeta 1.0(war nicht gut, also verkauft), KnoppiX, VM-Ware
D4 Client/Server, Turbo Basic, QBasic, Atari-Basic
BeitragVerfasst: Mo 31.01.05 00:40 
Der Normale Such-Dialog ist in der shell32.dll intigriert (system32 directory).

Der Dialog hat die RES-ID: 1105

Hier ein die Dialogform:

ausblenden Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
1105 DIALOGEX 0, 0, 190, 200
STYLE DS_CONTROL | WS_CHILD | WS_CLIPSIBLINGS | WS_CLIPCHILDREN | WS_CAPTION
EXSTYLE WS_EX_CONTROLPARENT
CAPTION "Nach Dateien und Ordnern suchen"
LANGUAGE LANG_GERMAN, SUBLANG_GERMAN
FONT 8, "MS Shell Dlg"
{
   CONTROL "", 1030, "SysAnimate32", ACS_TRANSPARENT | WS_CHILD | WS_VISIBLE, 7, 3, 16, 16 
   CONTROL "Nach Dateien und Ordnern suchen", 1029, STATIC, SS_LEFT | WS_CHILD | WS_VISIBLE | WS_GROUP, 24, 3, 153, 11 
   CONTROL "Nach folgenden Dateien oder &Ordnern suchen:", -1, STATIC, SS_LEFT | WS_CHILD | WS_VISIBLE | WS_GROUP, 7, 25, 158, 8 
   CONTROL "", 1001, EDIT, ES_LEFT | ES_AUTOHSCROLL | WS_CHILD | WS_VISIBLE | WS_BORDER | WS_TABSTOP, 7, 36, 170, 13 
   CONTROL "&Enthaltener Text:", -1, STATIC, SS_LEFT | WS_CHILD | WS_VISIBLE | WS_GROUP, 7, 54, 100, 8 
   CONTROL "", 1002, EDIT, ES_LEFT | ES_AUTOHSCROLL | WS_CHILD | WS_VISIBLE | WS_BORDER | WS_TABSTOP, 7, 65, 170, 13 
   CONTROL "Suchen &in:", -1, STATIC, SS_LEFT | WS_CHILD | WS_VISIBLE | WS_GROUP, 7, 83, 100, 8 
   CONTROL "", 1003, "ComboBoxEx32", 0x50210042, 7, 94, 170, 200 
   CONTROL "&Jetzt suchen", 1004, BUTTON, BS_DEFPUSHBUTTON | BS_NOTIFY | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 7, 116, 50, 14 
   CONTROL "Suche abbrec&hen", 1005, BUTTON, BS_PUSHBUTTON | BS_NOTIFY | WS_CHILD | WS_VISIBLE | WS_DISABLED | WS_TABSTOP, 69, 116, 64, 14 
   CONTROL "Nach anderen Objekten suchen:", 1048, STATIC, SS_LEFT | WS_CHILD | WS_VISIBLE | WS_GROUP, 7, 150, 120, 8 
}



Der andere Dialog (Webansicht) ist im IE drinne, und zum Teil (so vermute ich) in einer *.htt.

Also muss man die shell32.dll decompalieren und umschreiben.

Als Alternative wäre es, die Websuche vom Internet Explorer zu Manipulieren.
ausblenden Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
REGEDIT4

[HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main] 
"Use Search Asst"="no" 
"Search Page"="http://meineseite/" 
"Search Bar"="http://meineseite/bar/" 

[HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\SearchURL] 
""="http://meineseite/meinesuchengine.cgi/q/%s" 
"provider"="meinname" 

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\Search] 
"SearchAssistant"="meineseite/bar/" 
"CustomizeSearch"="http://meineseite/costumize.htm" 

[HKEY_CURRENT_USER\SOFTWARE\Microsoft\Internet Explorer\Search] 
"SearchAssistant"="meineseite/bar/" 
"CustomizeSearch"="http://meineseite/costumize.htm"


Mit localhost oder 127.0.0.1 kann man dann eine Offline-Seite benutzen. Dann entweder einen Aktiv-X Dienst Programmieren, und denn in HTML einbinden, oder die Oberfläche auf HTML umschreiben, und nur die Suchenging als Serverdienst benutzen(wie PERL oder PHP).

Gruss Gothicware