Fast View braucht einen Neuanfang

Nachdem ich in den letzten Tagen endlich mal wieder ein paar Stunden für Fast View gefunden habe, hat sich herausgestellt, dass der Code viel zu unübersichtlich und verschachtelt ist. Kleine Kostprobe gefällig?

private static IntPtr _hookID = IntPtr.Zero;
 private static LowLevelKeyboardProc _proc = new LowLevelKeyboardProc(InterceptKeys.HookCallback);
 private static Form1 form;
 private const int WH_KEYBOARD_LL = 13;
 private const int WM_KEYDOWN = 0x100;

 [DllImport("user32.dll", CharSet=CharSet.Auto, SetLastError=true)]
 private static extern IntPtr CallNextHookEx(IntPtr hhk, int nCode, IntPtr wParam, IntPtr lParam);
 private static string GetExplorerPath()
 {
 try
 {
 ShellWindows shellWindows = new ShellWindowsClass();
 int foregroundHandle = GetForegroundWindow().ToInt32();
 foreach (InternetExplorer ie in shellWindows)
 {
 if (ie.HWND == foregroundHandle)
 {
 return ((IShellFolderViewDual2) ie.Document).FocusedItem.Path;
 }
 }
 }
 catch (Exception)
 {
 return null;
 }
 return null;
 }

 [DllImport("user32.dll", CharSet=CharSet.Auto, SetLastError=true)]
 private static extern IntPtr GetForegroundWindow();
 [DllImport("user32.dll")]
 [return: MarshalAs(UnmanagedType.Bool)]
 static extern bool SetForegroundWindow(IntPtr hWnd);
 [DllImport("kernel32.dll", CharSet=CharSet.Auto, SetLastError=true)]
 private static extern IntPtr GetModuleHandle(string lpModuleName);
 private static IntPtr HookCallback(int nCode, IntPtr wParam, IntPtr lParam)
 {
 if (((nCode >= 0) && (wParam == ((IntPtr) 0x100))) && (Marshal.ReadInt32(lParam) == 0x20))
 {
 form.SpacePressed(GetExplorerPath());
 }
 return CallNextHookEx(_hookID, nCode, wParam, lParam);
 }

Und auch der Rest ist sehr unstrukturiert und durch die Plugin Architektur auch noch fast nicht debugbar…

Lange Rede, kurzer Sinn: Fast View braucht einen Neuanfang. Wie üblich “diesmal aber richtig” ;)

Heute aber nicht mehr…

Ähnliche Beiträge:

About Niklas

Ich bin Niklas Rother, der Autor dieses Blogs. Ich schreibe hier über meine Erfahrungen mit XNA, (speziell bei der Entwicklung meines Spiels, The Kingdom of Darkness), über meine anderen Programme, und was mir sonst noch so technisches einfällt. Momentan erscheint hier ca. 1x pro Woche ein Artikel...
This entry was posted in C#, Meine Programme, Programmieren and tagged , , , . Bookmark the permalink.

2 Responses to Fast View braucht einen Neuanfang

  1. Steffen M says:

    fastview könnte echt dein Durchbruch werden. Das feature ist einfach sowas von nötig :)
    Hoffe bald die neue Version testen zu können.

    • admin says:

      Ich habe hier schon eine überarbeitete Version, die muss ich nochmal durchsehen, dann kann ich die veröffentlichen.
      Ich will aber nicht zu viel versprechen, denn das ganze ist immer noch mehr eine TechDemo…
      Aber es gibt Plugins!

Hinterlasse eine Antwort

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *

*

Du kannst folgende HTML-Tags benutzen: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>