Datei-Selektion ohne Extension im WindowsXP-Explorer
Verfasst: 22.12.2010 20:44
Folgender Code selektiert nur das Präfix einer Datei wenn diese zum Umbenennen im Windows-Explorer angeklickt worden ist.
Es fehlt noch die Ausklammerung von Ordnern. Ordner werden aber nur berücksichtigt wenn sie sich im zweigeteilten Fenster auf der rechten Seite befinden und mindestens einen Punkt enthalten.
Beendet wird das Tool per Linksklick auf das rote Systrayicon.
Wer noch unter XP arbeitet kann den Code vielleicht gebrauchen denn ab Vista soll sowas ja nativ enthalten sein.
Es fehlt noch die Ausklammerung von Ordnern. Ordner werden aber nur berücksichtigt wenn sie sich im zweigeteilten Fenster auf der rechten Seite befinden und mindestens einen Punkt enthalten.
Beendet wird das Tool per Linksklick auf das rote Systrayicon.
Wer noch unter XP arbeitet kann den Code vielleicht gebrauchen denn ab Vista soll sowas ja nativ enthalten sein.
Code: Alles auswählen
EnableExplicit
Global hWnd.l, Titel$, p.w, s.w, x.b
If OpenWindow(0, 0, 0, 0, 0, "", #PB_Window_Invisible)
AddSysTrayIcon(0, WindowID(0), LoadIcon_(0, #IDI_ERROR))
EndIf
Repeat
Delay(100)
hWnd = FindWindow_("ExploreWClass", 0)
If hWnd
hWnd = FindWindowEx_(hWnd, 0, "SHELLDLL_DefView", 0)
If hWnd
hWnd = FindWindowEx_(hWnd, 0, "SysListView32", "FolderView")
If hWnd
hWnd = FindWindowEx_(hWnd, 0, "Edit", 0)
If Not hWnd
hWnd = FindWindow_("CabinetWClass", 0)
If hWnd
hWnd = FindWindowEx_(hWnd, 0, "SHELLDLL_DefView", 0)
If hWnd
hWnd = FindWindowEx_(hWnd, 0, "SysListView32", "FolderView")
If hWnd
hWnd = FindWindowEx_(hWnd, 0, "Edit", 0)
EndIf
EndIf
EndIf
EndIf
EndIf
EndIf
EndIf
If Not hWnd And x=1
x=0
EndIf
If hWnd And x=0
Titel$ = Space(1024)
GetWindowText_(hWnd, @Titel$, 1024)
p = Len(Titel$)
s = Len(StringField(Titel$, CountString(Titel$, ".")+1, "."))+1
SendMessage_(hWnd, #EM_SETSEL, 0, p-s)
x=1
EndIf
Select WindowEvent()
Case #PB_Event_SysTray
Select EventGadget()
Case 0
Select EventType()
Case #PB_EventType_LeftClick
Break
EndSelect
EndSelect
EndSelect
ForEver
End