Using Win 32 API inside Chrome Extensions Yosuke
- Slides: 18
Using Win 32 API inside Chrome Extensions Yosuke HASEGAWA http: //utf-8. jp/
Chrome Extension } HTML + Java. Scriptで実装 } プラットフォーム非依存 } 定義ファイル (manifest. json)、HTML、 JS、CSS等をzipで固めたもの http: //code. google. com/chrome/extensions/
Chrome Extension { "name": "My First Extension", "version": "1. 0", "description": "The first extension that I made. ", "browser_action": { "default_icon": "icon. png", "popup" : "popup. html" }, "permissions": [ "http: //api. flickr. com/" ] } manifest. json http: //code. google. com/chrome/extensions/getstarted. html
NPAPI DLL } Netscape Plugin API } Netscape Navigator 2 の頃に出現 } 現在も様々なブラウザで対応 (プラグイン ) Flash Player, Adobe Reader etc. . . http: //code. google. com/chrome/extensions/
NPAPI DLL } Netscape Plugin API } Netscape Navigator 2 の頃に出現 } 現在も様々なブラウザで対応 (プラグイン ) Flash Player, Adobe Reader etc. . . } DLLなのでプラットフォーム依存 http: //code. google. com/chrome/extensions/
NPAPI DLL } Extension内にplugin DLL } リモートHTMLから直接の利用は (原則)不可 <html> WWW contents <html> plugin DLL Extension
NPAPI DLL { "name": "My First Extension", "version": "1. 0", "description": "The first extension that I made. ", "browser_action": { "default_icon": "icon. png", "popup" : "popup. html" }, "plugins" : [ { "path" : "foo. dll" } ], "permissions": [ "http: //api. flickr. com/" ] } manifest. json
NPWIN 32 <embed type="application/x-win 32 api-dynamic-call" id="plugin" hidden="true" /> <script type="text/javascript"> function foo(){ var plugin = document. get. Element. By. Id( "plugin" ); var Message. Box = plugin. import( "user 32. dll", "INT Message. Box. W( DWORD, LPCWSTR, UINT )" ); var MB_ICONINFORMATION = 64; Message. Box( 0, "hello, world", "chrome", MB_ICONINFORMATION ); } </script>
NPWIN 32 var Enum. Windows = plugin. import( "user 32. dll", "BOOL Enum. Windows( CALLBACK, DWORD )" ); var Get. Window. Text = plugin. import( "user 32. dll", "INT Get. Window. Text. W( DWORD, LPWSTR, INT )" ); var func = plugin. callback( function ( hwnd, lparam ){ var buf = new Array( 257 ). join( " " ); // space * 256 if( Get. Window. Text( hwnd, buf, 256 ) ){ alert( hwnd + " : " + Getwindow. Text. arg( 1 ) ); } }, "BOOL (DWORD, DWORD)" ); Enum. Windows( func, 0 );
- Habit 4 think win win examples
- Win win win lose lose lose
- Win win situacija
- Yosuke mizuno
- Yosuke mizuno
- Win win strategies
- Win win situation examples
- Habit 4 summary
- Habit 4 think win win images
- Win win nacin placanja
- Expanding the pie meaning
- Win win approach
- Habit 4 think win win summary
- Winwin hesap
- Extensions of turing machine
- Arm design philosophy
- Streaming simd extensions
- Sap hybris module
- University of kent extensions