Diese Präsentation wurde erfolgreich gemeldet.
Wir verwenden Ihre LinkedIn Profilangaben und Informationen zu Ihren Aktivitäten, um Anzeigen zu personalisieren und Ihnen relevantere Inhalte anzuzeigen. Sie können Ihre Anzeigeneinstellungen jederzeit ändern.
www.inqu.de.NET User Group Dresden            Real World Scenario Deeplinking in eine WinForms-Anwendung               01....
www.inqu.dedie vorhandene Anwendung unternehmensinternes Bestellsystem WinForms-Client auf Terminalserver               ...
www.inqu.dedas Ziel Migration ins Web neue Features Einsparung Terminalserver                              Marco Wagner...
www.inqu.dedas (Zwischen)Ergebnis Bestellansicht                         Marco Wagner | InQu Informatics GmbH | http://in...
www.inqu.deHerausforderung 2 Systeme Medienbruch Win/Web „nicht aus einem Guß“ Mindestanforderung: Navigation zwischen...
www.inqu.deNavigation zwischen Win & Web      vonnach   Win                          Web      Win        Nav zw. Modulen  ...
www.inqu.deNachrichten vom Web ins Win? Skype? MSDN?                     Marco Wagner | InQu Informatics GmbH | http://i...
www.inqu.deCustom URL Protocol eigenen URL-Protokollhandler registrieren und  implementieren http:// ms-help:// skype:...
www.inqu.deURL-Protokoll registrieren siehe shop.reg in MessageDispatcher.csproj                              Marco Wagne...
www.inqu.deWindows RegistryHKEY_CLASSES_ROOT     COM-Registrierung; Dateitypen / ErweiterungenHKEY_CURRENT_USER     Profil...
www.inqu.deKommunikation über Prozessgrenzen hinweg Problem    Prozesse haben separate Adressräume Lösungen      Pipes...
www.inqu.deNavigation von Web nach Win (auch) per Hyperlink                        Marco Wagner | InQu Informatics GmbH | ...
www.inqu.deDemo Prototyp siehe Solution                   Marco Wagner | InQu Informatics GmbH | http://inqu.de | http://...
www.inqu.deÜbersicht Prototyp                     Marco Wagner | InQu Informatics GmbH | http://inqu.de | http://raumwolke...
www.inqu.dePause?         Marco Wagner | InQu Informatics GmbH | http://inqu.de | http://raumwolken.de
www.inqu.deURL      shop://component=Bestellungen;id=2                      Marco Wagner | InQu Informatics GmbH | http://...
www.inqu.deNachricht Nachrichtentyp: WM_COPYDATA    http://msdn.microsoft.com/en-     us/library/windows/desktop/ms64901...
www.inqu.deURL via Dispatcher weiterreichen(Nachricht senden) vgl. MessageDispatcher.Program        [DllImport("user32.dl...
www.inqu.deURL/ Parameter im Legacy Shop verarbeiten(Nachricht empfangen) siehe WndProc in LegacyShopprotected override v...
www.inqu.deproprietäre Nachrichteninterpretation              shop://component=Bestellungen;id=2var formatPattern =       ...
www.inqu.deFragen?          Marco Wagner | InQu Informatics GmbH | http://inqu.de | http://raumwolken.de
www.inqu.deSlides & Code demnächst auf    http://raumwolken.de    http://dd-dotnet.de/ Fragen    marco.wagner@inqu.de...
Nächste SlideShare
Wird geladen in …5
×

Deeplinking in eine WinForms-Anwendung

  • Als Erste(r) kommentieren

  • Gehören Sie zu den Ersten, denen das gefällt!

Deeplinking in eine WinForms-Anwendung

  1. 1. www.inqu.de.NET User Group Dresden Real World Scenario Deeplinking in eine WinForms-Anwendung 01.03.2012 InQu Informatics GmbH Marco Wagner
  2. 2. www.inqu.dedie vorhandene Anwendung unternehmensinternes Bestellsystem WinForms-Client auf Terminalserver Marco Wagner | InQu Informatics GmbH | http://inqu.de | http://raumwolken.de
  3. 3. www.inqu.dedas Ziel Migration ins Web neue Features Einsparung Terminalserver Marco Wagner | InQu Informatics GmbH | http://inqu.de | http://raumwolken.de
  4. 4. www.inqu.dedas (Zwischen)Ergebnis Bestellansicht Marco Wagner | InQu Informatics GmbH | http://inqu.de | http://raumwolken.de
  5. 5. www.inqu.deHerausforderung 2 Systeme Medienbruch Win/Web „nicht aus einem Guß“ Mindestanforderung: Navigation zwischen beiden Systemen Marco Wagner | InQu Informatics GmbH | http://inqu.de | http://raumwolken.de
  6. 6. www.inqu.deNavigation zwischen Win & Web vonnach Win Web Win Nav zw. Modulen Hyperlink Web ? Hyperlink Marco Wagner | InQu Informatics GmbH | http://inqu.de | http://raumwolken.de
  7. 7. www.inqu.deNachrichten vom Web ins Win? Skype? MSDN? Marco Wagner | InQu Informatics GmbH | http://inqu.de | http://raumwolken.de
  8. 8. www.inqu.deCustom URL Protocol eigenen URL-Protokollhandler registrieren und implementieren http:// ms-help:// skype:// shop:// MSDN: http://msdn.microsoft.com/en-us/library/ie/aa767914(v=vs.85).aspx Marco Wagner | InQu Informatics GmbH | http://inqu.de | http://raumwolken.de
  9. 9. www.inqu.deURL-Protokoll registrieren siehe shop.reg in MessageDispatcher.csproj Marco Wagner | InQu Informatics GmbH | http://inqu.de | http://raumwolken.de
  10. 10. www.inqu.deWindows RegistryHKEY_CLASSES_ROOT COM-Registrierung; Dateitypen / ErweiterungenHKEY_CURRENT_USER Profil aktueller UserHKEY_LOCAL_MACHINE Nutzerübergreifende EinstellungenHKEY_USERS NutzerstammHKEY_CURRENT_CONFIG Profil aktuelle Hardware Marco Wagner | InQu Informatics GmbH | http://inqu.de | http://raumwolken.de
  11. 11. www.inqu.deKommunikation über Prozessgrenzen hinweg Problem  Prozesse haben separate Adressräume Lösungen  Pipes  Events / Nachrichten  Funktionsaufrufe / Remote Procedure Calls  Shared Memory Marco Wagner | InQu Informatics GmbH | http://inqu.de | http://raumwolken.de
  12. 12. www.inqu.deNavigation von Web nach Win (auch) per Hyperlink Marco Wagner | InQu Informatics GmbH | http://inqu.de | http://raumwolken.de
  13. 13. www.inqu.deDemo Prototyp siehe Solution Marco Wagner | InQu Informatics GmbH | http://inqu.de | http://raumwolken.de
  14. 14. www.inqu.deÜbersicht Prototyp Marco Wagner | InQu Informatics GmbH | http://inqu.de | http://raumwolken.de
  15. 15. www.inqu.dePause? Marco Wagner | InQu Informatics GmbH | http://inqu.de | http://raumwolken.de
  16. 16. www.inqu.deURL shop://component=Bestellungen;id=2 Marco Wagner | InQu Informatics GmbH | http://inqu.de | http://raumwolken.de
  17. 17. www.inqu.deNachricht Nachrichtentyp: WM_COPYDATA  http://msdn.microsoft.com/en- us/library/windows/desktop/ms649011(v=vs.85).aspx Nachrichtenstruktur: COPYDATASTRUCT  http://msdn.microsoft.com/en- us/library/windows/desktop/ms649010(v=vs.85).aspx siehe Shared Marco Wagner | InQu Informatics GmbH | http://inqu.de | http://raumwolken.de
  18. 18. www.inqu.deURL via Dispatcher weiterreichen(Nachricht senden) vgl. MessageDispatcher.Program [DllImport("user32.dll")] public static extern int SendMessage( IntPtr hWnd, int Msg, IntPtr wParam, ref WndMessage lParam); SendMessage schickt direkt ans Ziel und wartet bis Abarbeitung (Message Loop; synchron) PostMessage legt Message in Queue und kehrt sofort zurück (Message Queue; asynchron) Marco Wagner | InQu Informatics GmbH | http://inqu.de | http://raumwolken.de
  19. 19. www.inqu.deURL/ Parameter im Legacy Shop verarbeiten(Nachricht empfangen) siehe WndProc in LegacyShopprotected override void WndProc(ref Message m)…var messageData = (WndMessage)Marshal .PtrToStructure(m.LParam, typeof(WndMessage));var message = Marshal.PtrToStringUni(messageData.lpData); Marco Wagner | InQu Informatics GmbH | http://inqu.de | http://raumwolken.de
  20. 20. www.inqu.deproprietäre Nachrichteninterpretation shop://component=Bestellungen;id=2var formatPattern = @"shop://component=(?<componentKey>w+);id=(?<id>d+)";var match = Regex.Match(message, formatPattern);var componentKey = match.Groups["componentKey"].Value;var idText = match.Groups["id"].Value; Marco Wagner | InQu Informatics GmbH | http://inqu.de | http://raumwolken.de
  21. 21. www.inqu.deFragen? Marco Wagner | InQu Informatics GmbH | http://inqu.de | http://raumwolken.de
  22. 22. www.inqu.deSlides & Code demnächst auf  http://raumwolken.de  http://dd-dotnet.de/ Fragen  marco.wagner@inqu.de Marco Wagner | InQu Informatics GmbH | http://inqu.de | http://raumwolken.de

×