OSDN Git Service

要不要ファイル追加・削除
[dokopop/dokopop.git] / Diary.txt
diff --git a/Diary.txt b/Diary.txt
deleted file mode 100644 (file)
index ab974c3..0000000
--- a/Diary.txt
+++ /dev/null
@@ -1,280 +0,0 @@
- http://grabacr.net/archives/1132
-\81¡BUG
-\81Eamodi\82Ì.NET Framework version\82Í\81H
-\81ESetWindowsHookEx\96â\91è
-  - 32bit/64bit\97¼\95ûload\81¨32bit\82ÍOK\81A64bit\82Írun on load context
-  - 32bit\82Ì\82Ýload\81¨32bit\82ÍOK\81A64bit\82Í\96³\94½\89\9e
-  - 64bit\82Ì\82Ýload\81¨64bit\82ÍOK\81A32bit\82Írun on load context
-  - 64bit\82ð\90æ\82Élaunch\81A32bit\82ð\82 \82Æ\82©\82çload\81¨32bit\82ÍOK\81A64bit\82Írun on load context
-  - 64bit/32bit\82ðload\81A\82»\82Ì\8cã64bit\82Ì\82Ýinit/config\81A\82»\82Ì\82 \82Æ32bit\82Ì\82ÝInit\82Ì\82Ý\81¨32bit Init\82ð\8eÀ\8ds\82·\82é\82Ü\82Å\82Í64bit\82ÍOK\81A32bit\82ÌInit\82ð\8ds\82¤\82Æ64bit\82Írun on load context
-  - 64bit\82ð\88Ù\82È\82é\83f\83B\83\8c\83N\83g\83\8a\82Å\8eÀ\8ds\81¨\95Ï\82í\82ç\82¸
-[\88ê\94Ê\93®\8dì]
-\81E[B] Edge@Win10@VMware@PWS300\82Å\95\8e\9a\94F\8e¯\82Å\82«\82Ä\82¢\82é\82Ì\82É\83|\83b\83v\83A\83b\83v\82µ\82È\82¢\8e\9e\82ª\82 \82é\81¨FAQ
-  \81¨\88Ê\92u\82ð\8cÅ\92è\81A\83t\83H\81[\83J\83X\88Ú\93®
-\81E[B] \83\8d\83O\83C\83\93\82Ìstartup\82Åamodi\82ª\97á\8aO\82Å\97\8e\82¿\82é\81BFileNotFound\82Å\8aÄ\8e\8b\97p\83t\83H\83\8b\83_\81[\82ª\8c©\82Â\82©\82ç\82È\82¢\81H
-\81E[C] Windows shutdown\82ÅExMODI\82ª\97á\8aO\81H
-\81E[B] .NET\82ð4.0\82©\82ç3.5\82É\82Å\82«\82È\82¢\82©\81H
-\81E[B?] main prg\82Ìmain thread\82ªblocking\8fó\91Ô\82É\82È\82é\82Æ\82È\82ºUI\91S\91Ì\82ª\8e~\82Ü\82é\81H
-  \81¨\8e~\82Ü\82Á\82Ä\82¢\82é\82Æ\82±\82ë\82Í\8f­\82È\82­\82Æ\82àHook\8aÖ\90\94\93à\82Å\82Í\82È\82¢\82ç\82µ\82¢(return\82Ü\82Å\82Ì\8e\9e\8aÔ\82ª\82P\95b\88È\93à\82¾\82Á\82½\81j
-\81E[B] \82Ü\82¾\94{\97¦\8f\88\97\9d\82ª\82¤\82Ü\82­\93­\82©\82È\82¢
-  - Firefox\81¨\8ag\91å\82È\82µ\82ÅOK
-  - IE\81¨\8ag\91å\8f\88\97\9d\95K\97v
-\81E[C] click\82É\82æ\82éCaptureImage\82Ímain\82©\82ç\82Ì\8cÄ\82Ñ\8fo\82µ\82É\82µ\82½\82Ù\82¤\82ª\82¢\82¢\82Ì\82Å\82Í\81H
-  \81¨\82Ç\82Ì\82Ý\82¿wait\82·\82é\82Ì\82¾\82©\82ç\81A\96â\91è\82È\82¯\82ê\82Î\82±\82Ì\82Ü\82Ü\82Å\82¢\82¢\82©\82à\81H
-\81E[C] Capture API\82ª64/32bit\97¼\95û\82Å\8cÄ\82Î\82ê\82Ä\82µ\82Ü\82¤\82Ì\82Í\82Ü\82¸\82¢\82Ì\82Å\82Í\81H\92P\82È\82é\96³\91Ê\81H
-  \81¨\82¹\82ß\82Äbit\90\94\82ð\94»\92f\82µ\82Ä\82©\82ç\82Å\82 \82ê\82Î\81E\81E\81E
-\81E[B?] MODI\82ª\83C\83\93\83X\83g\81[\83\8b\82³\82ê\82Ä\82¢\82È\82¢\8fó\8bµ\82ÅDokoPop!\82ð\8bN\93®\81A\82»\82Ì\8cãMODI\82ð\83C\83\93\83X\83g\81[\83\8b\82·\82é\82ªamodi\82ª\95¡\90\94\8bN\93®\82µ\82ÄOCR\82ª\93®\8dì\82µ\82È\82¢\8fó\91Ô\82ª\82 \82Á\82½
-         \81¨amodi.exe\82ª\8fI\97¹\82µ\82È\82¢\8fð\8c\8f\82ª\82 \82é\81H
-         \81¨MODI uninstall/install\82ð\82â\82Á\82Ä\82Ý\82½\82ª\8dÄ\8c»\82¹\82¸\81BOS install\8cã\8f\89\89ñ\82¾\82¯\81H
-\81E[C][Win10] SharePoint Designer\82ðWindows10\82É\83C\83\93\83X\83g\81[\83\8b\82·\82é\82Æ\82«\81A.NET\82Ì\83C\83\93\83X\83g\81[\83\8b\82ð\91£\82·\82ª\81A\83G\83\89\81[\82Æ\82È\82è\82Å\82«\82È\82¢\81B\81¨\82»\82à\82»\82à.NET\82Í\93ü\82Á\82Ä\82¢\82é\82Ì\82Å\83C\83\93\83X\83g\81[\83\8b\95s\97v\81Binstaller\82Ì\83o\83O\81H
-\81E[B] \8f]\97\88\95û\8e®\82Ì\95\8e\9a\97ñ\92\8a\8fo\82ª\93®\8dì\82µ\82È\82­\82È\82Á\82½\81H
-  \81¨DKPUHK64.dll\82ðload\82µ\82½\82½\82ß\81BDKPUHK64\82ðhook\82³\82¹\82é\82Æ32bit\83A\83v\83\8a\8fã\82Åhook\82ª\90³\82µ\82­\93®\8dì\82µ\82È\82¢\81i\8fÚ\8d×\82Ì\93®\8dì\82Í\95s\96¾\81j
-  \81¨\82È\82º32bit\83A\83v\83\8a\82Å64bit DLL\82ªhook\82³\82ê\82é\82Ì\82©\81H
-  \82Ü\82Æ\82ß\82é\82Æ\81A
-   - 64bitDLL\82ð\8eg\97p\82·\82é\82Æ\81E\81E\81E32bit\83A\83v\83\8a\8fã\82Å\93®\8dì\82µ\82È\82­\82È\82é\81i64bit\83A\83v\83\8a\82ÍOK)
-   - 64bitDLL\82ð\8aO\82·\82Æ\81E\81E\81E\81E\81E32bit\83A\83v\83\8a\82Í\93®\8dì\81A64bit\83A\83v\83\8a\82ÍNG
-\81@ - 64bit DLL\82ðload\82·\82é\82Æ\81A32bit\83A\83v\83\8a\8fã\82É\83}\83E\83X\82ð\88Ú\93®\82µ\82Ä\82àDLL attach\82³\82ê\82È\82¢\81B(32/64bit\97¼\95û)
-   - 64bit DLL\82ðload\82µ\81A32bit\83A\83v\83\8a\8fã\82Åmouse\91\80\8dì\82·\82é\82Æ\81A64bit/32bit\97¼\95û\82ÌDLL\82Ì\8f\88\97\9d\82ª\91\96\82é\81B\82 \82è\82¦\82È\82¢\82¾\82ë\82¤\81H\81H
-        \81ªattach\82³\82ê\82Ä\82¢\82È\82¢\82Ì\82É\82È\82º\94½\89\9e\82Å\82«\82é\81H\81H
-        \81¨64bit DLL\82ÍDKPUHK64.exe\82Å\91\96\82è\81A32bit DLL\82ÍDCHookTest.exe\82Å\91\96\82Á\82Ä\82¢\82é\81I\81I\82È\82º\81H
-        \81¨DKPUHK64.exe\82ð\95Ê\83v\83\8d\83Z\83X\82©\82ç\8bN\93®\82µ\82Ä\82à\8dÄ\8c»\82·\82é\81BDLL\82ÌInit()\8cÄ\82Ñ\8fo\82µ\82ð\82µ\82È\82¯\82ê\82Î\8dÄ\8c»\82µ\82È\82¢\81B
-          SetWindowsHookEx()\82Ì\8eg\97p\82É\96â\91è\82ª\82 \82é\82ç\82µ\82¢\81B
-        \81¨\95Ê\83A\83v\83\8a\82È\82Ì\82É\82È\82º\89e\8b¿\82·\82é\82Ì\82©\81HDLL\82Ì\89½\82©\82ª\82Ô\82Â\82©\82Á\82Ä\82¢\82é\81H
-        http://resources.infosecinstitute.com/using-setwindowshookex-for-dll-injection-on-windows/
-        \82ð\8fn\93Ç\82·\82é\82Æ\89½\82©\83q\83\93\83g\82ª\82 \82é\81H
-        \81¨64bit\82Ì\82ÝInit\82ð\8ds\82¤\82Æ64bit\83A\83v\83\8a\8fã\82Å\90³\8fí\93®\8dì\82µ\81A32bit\83A\83v\83\8a\8fã\82Å\82ÍDKPUHK64.exe\82Ì\83v\83\8d\83Z\83X\8fã\82Å\93®\82­
-   - ProcessExplorer\82Å\8am\94F\82·\82é\82Æ\81A64bit\83A\83v\83\8a(\83\81\83\82\92 )\82Ìload\82³\82ê\82Ä\82¢\82éDLL\82ÉDKPUHK64.DLL\82ª\82¢\82È\82¢
-        \81¨dchk64.exe\82Ì\82Ý\82ð\92¼\90Ú\8eÀ\8ds\82µ\82½\8fê\8d\87\82Í\96â\91è\82È\82¢\81H\81H(DKPUHK64.DLL\82ª\83\81\83\82\92 \82Éhook\82µ\82Ä\82¢\82½)
-        \81¨32bit\91¤\82ÌInit()\82ð\82µ\82È\82¢\82Æ\82Ç\82¤\82È\82é\81H
-          \81¨bingo!! DKPUHK64.DLL\82ªload\82³\82ê\82½
-   - [\8dÏ] 64bit DLL\82ÌUninit()\82ª\8cÄ\82Î\82ê\82È\82¢
-        \81¨32bit DLL\82ªUninit()\82³\82ê\82½\82Æ\82«\82ÉDKPUHK64.exe\82ª\8fI\97¹\82µ\82Ä\82¢\82é\81H\81H
-        \81¨Unload\82Ì\82 \82Æ\82ÉUninit\82ª\8cÄ\82Î\82ê\82Ä\82¢\82½\81¨Uninit->Unload\82É\82µ\82½
-\81E[B] \83\81\83\82\92 \82Å\95\8e\9a\89»\82¯
-  \81¨meta file\82Ì\8dÄ\90\82Å EMR_EXTTEXTOUTW\82Ì\83e\83L\83X\83g\82ª\89»\82¯\89»\82¯
-  \81¨64bit DLL\82ð\96³\8cø\82É\82µ\82½\82ç\82»\82Ì\96â\91è\82Í\94­\90\82µ\82È\82­\82È\82Á\82½\82ª\81A\95Ê\96â\91è\82ª\94­\90
-\81E[C] \83C\83\93\83N\83\8a\83\81\83\93\83^\83\8b\83T\81[\83`\82ð\97L\8cø\82É\82µ\82½\92¼\8cã\81AOCR Error\82ª\94­\90\82·\82é
-  \81¨Reboot()\82µ\82È\82¢\82æ\82¤\82É\82·\82é\82Æ\81A\82»\82Ì\8cã\82Í\90³\8fí\82É\93®\8dì\82·\82é\81B
-  \81¨\82Æ\82è\82 \82¦\82¸Reboot()\82ð\82Í\82¸\82µ\82½\81i\95K\97v\90«\82ª\8d¡\82Ì\82Æ\82±\82ë\96³\82­\82È\82Á\82½\82Ì\82Å\81j
-\81E[C] Chrome\82Å\8dÀ\95W\82ª\82¸\82ê\82é@VAIO Pro11
-  \81¨\90Ø\82è\94²\82«\82Í\91Î\8fÛwindow\82Ì\82Ý\82É\8cÀ\92è\82µ\81Aclick point\82à100,100\8cÅ\92è\82É\82¹\82¸\81A\91Î\8fÛwindow\82Åclip\82µ\82½\82Ù\82¤\82ª\82¢\82¢\82Ì\82Å\82Í\81H
-  \81¨\82»\82ê\82Í\91Î\89\9e\8dÏ\82Ý\81B\82µ\82©\82µ\96â\91è\82Íwindow8\82Ì\8ag\91å\8b@\94\\82¾\82Á\82½\81B
-  http://grabacr.net/archives/1132
-  GetDpiForMonitor, CDPI class\82 \82½\82è\82ª\8aÌ\82©\81H
-  \81¨GetDeviceCaps(LOGPIXELSx)\82ð\8eg\97p\82·\82ê\82Î\82¢\82¢\82¾\82¯\81H
-  \81¨\8eæ\93¾\95û\96@\82ª\8c©\82Â\82©\82ç\82¸\81B\83\86\81[\83U\81[\93ü\97Í\82Å\82Æ\82è\82 \82¦\82¸\91Î\8f\88
-  \81¨ResolutionScale\82¾\82Á\82½\82ª\82¤\82Ü\82­\93®\82©\82È\82¢\81H
-\81E[C] AMODI\82Ìtemporary folder\82ðlock\82µ\82Ä\82¢\82é\82ÆAMODI\82ª\8bN\93®\82Å\82«\82È\82¢\81i\8bN\93®\82µ\82Ä\82à\89½\82à\8c¾\82í\82¸\82É\8fI\97¹\81j
-\81E[?] XP\82Ìdpi scaling\82Í\96â\91è\82È\82©\82Á\82½\81H
-[\88À\92è\90«]
-\81E[B] inc.srch\82ð\97L\8cø\82É\82µ\82Ä\82¢\82é\82ÆDKPUHK64.exe\82Å\97\8e\82¿\82½\81B\81¨MouseMove\82Ì\82Æ\82±\82ë\82ðcomment out
-\81E[B] inc.srch\81{Ctrl+\89E\83N\83\8a\83b\83N\82Å\8c\83\82µ\82­\82â\82Á\82Ä\82¢\82é\82ÆAMODI\82Å\97\8e\82¿\82é
-  - inc.srch\82ð\97L\8cø\82É\82µ\82Ä\81A\83^\83X\83N\83g\83\8c\83C\82Ìdp\82Å\89E\83N\83\8a\83b\83N\83\81\83j\83\85\81[\82ð\8fo\82µ\81A\90à\96¾\8f\91\82ð\95\\8e¦\82É\83J\81[\83\\83\8b\82ð\8d\87\82í\82¹\82é\82ÆAMODI\82Å\97\8e\82¿\82é@win7
-\81E[B] FileSync\82Å\8c\9f\8dõ\82·\82é\82ÆFileSync\82ªassertion failure\82ð\8bN\82±\82µ\81APDHKU64.exe\82ª\97\8e\82¿\82é
-  - SyncExecFrm.cpp TSyncExecFrame::lbLogDrawItem 627
-  - XP(xw8400)\82Å\82Í\96â\91è\82È\82µ
-\81E[A?] \8c\9f\8dõ\93®\8dì\82µ\82È\82­\82È\82é\82Æ\82«\82ª\82 \82é\81H@win7
-  \81¨OS\8dÄ\8bN\93®\82È\82Ç\82Å\8dÄ\8c»\82µ\82È\82­\82È\82Á\82½\81H
-\81E[B?] amodi\82ð\8eg\97p\82·\82é\82Æoffice\82Ìinstall\82ª\8en\82Ü\82é\81H@win7
-  \81¨OS\8dÄ\8bN\93®\82È\82Ç\82Å\8dÄ\8c»\82µ\82È\82­\82È\82Á\82½\81H
-\81E[Q] DokoPop!\82ªPDIC\82ð\8bN\93®\82·\82é\82Æ\91O\89ñ\82Æ\88Ù\82È\82épath\82É\82 \82éPDIC\82ª\8bN\93®\82µ\82Ä\82µ\82Ü\82¤@vaio\81¨portable\94Å\82¾\82©\82ç\81BFAQ\82É\82 \82Á\82½\82Ù\82¤\82ª\82¢\82¢
-\81E[C] \83]\83\93\83rDKPUHK64.exe\82Ì\8f\88\97\9d
-\81E[C] pdhk64.exe\82ª\8e\80\82ñ\82¾\8e\9e\82Ì\91Î\8dô
-\81E[?] win8\82Ålog off\8e\9e\82Épdhk64.exe\82ª\97\8e\82¿\82é\81H
-\81E[?] stand-by\95\9c\8bA\8cãAMODI\82ª\97\8e\82¿\82é\81H@XP
-\81y\8dÏ\81z
-\81E[B][amodi] \83t\83@\83C\83\8b\8dí\8f\9c\8e\9e\82Ì\97á\8aO\8f\88\97\9d\92Ç\89Á
-\81E[B] WinXP\82Åinc.srch\82ª\82Ü\82Á\82½\82­\93®\82©\82È\82¢\81H
-  \81¨WinXP\82Å\82Í\81Aevent/thread\82ÍDLL\92P\88Ê\82Å\82Í\82È\82­\81ADLL instance\92P\88Ê\82Å\90\90¬\82·\82é\95K\97v\82ª\82 \82Á\82½
-\81E[B] \83C\83\93\83N\83\8a\83\81\83\93\83^\83\8b\83T\81[\83`\82ª\95p\94É\82É\94­\90\82·\82é\82½\82ß\8fd\82­\82È\82é\81¨\8c\9f\8dõ\82Ì\95p\93x\82ð\89º\82°\82é\95K\97v\82ª\82 \82é
-  \81¨\83J\81[\83\\83\8b\82ª\92â\8e~\82µ\82Ä\82©\82ç0.3\95b\8cã\81A\82È\82Ç
-  \81¨0.1\95b\8cã\82É\82È\82é\82æ\82¤\82É\82µ\82Ä\82 \82é\82Ì\82É\8fd\82¢\81B64bit\83A\83v\83\8a(IE\82È\82Ç)\8fã\82Å\8fd\82­\82È\82é\82æ\82¤\82¾\81B
-  \81¨OCR Error\82ª\94­\90\82·\82é\82Æ\83t\83@\83C\83\8b\8f\91\82«\8d\9e\82Ý\91Ò\82¿\82Ì\82R\95b\82Åwait\82³\82ê\82Ä\82¢\82½\81B
-  \81¨\96{\97\88\82»\82±\82Åwait\82µ\82Ä\82à\83X\83g\83b\83v\82·\82é\82Ì\82Í\82¨\82©\82µ\82¢\81Bwait\82Í\95Êthread\82Å\8ds\82¤\82æ\82¤\82É\82·\82é
-  \81¨\95Êthread\82Å\8eÀ\8ds\82·\82é\82æ\82¤\82É\82µ\82½\81¨OK
-\81E[B] \83\81\83\82\92 \82ÅOCR\82ª\93®\8dì\82µ\82È\82¢
-  \81¨GetDIBits()\82Å\83\81\83\82\83\8a\95s\91«\83G\83\89\81[\82ª\94­\90\82µ\82Ä\82¢\82é
-  \81¨MODI\82Ìinstall\82ª\81u\83}\83C\83R\83\93\83s\83\85\81[\83^\82©\82ç\8eÀ\8ds\81v\82É\82È\82Á\82Ä\82¢\82½\81i\96{\93\96\82Í\81u\83}\83C\83R\83\93\83s\83\85\81[\83^\82©\82ç\82·\82×\82Ä\8eÀ\8ds\81v\81j
-
-\81¡DPI awareness
-http://ascii.jp/elem/000/000/905/905248/ - \82í\82©\82è\82â\82·\82¢\90à\96¾(\93ú\96{\8cê)
-http://www.telerik.com/blogs/winforms-scaling-at-large-dpi-settings-is-it-even-possible- - \8aÈ\92P\82È\8aT\97v\90à\96¾
-http://kynosarges.org/WindowsDpi.html - \82±\82¿\82ç\82Ì\82Ù\82¤\82ª\82¢\82¢\90à\96¾\81H
-https://msdn.microsoft.com/ja-jp/library/windows/desktop/dn469266%28v=vs.85%29.aspx - HighDPI \91Î\89\9e\88ê\97\97\82È\82Ç\97l\81X\82È\8fî\95ñ
-https://msdn.microsoft.com/ja-jp/library/windows/desktop/dd464659%28v=vs.85%29.aspx - High DPI\91Î\89\9e\83v\83\8d\83O\83\89\83~\83\93\83O(8.1\97p\82µ\82©\8f\91\82¢\82Ä\82¢\82È\82¢\81H)
-Windows8.1\82Å\82Í 96dpi(100%), 120dpi(125%), 144dpi(150%), 192dpi(200%)\82Ì\8el\82Â\82 \82é
-\81E\8am\94F\8e\96\8d\80
- - WinXP\82Å\82àDPI\82ð\95Ï\8dX\82·\82é\82ÆDokoPop!\82Í\90³\82µ\82­\93®\8dì\82µ\82È\82©\82Á\82½\82Ì\82Å\82Í\81H
-\81E\8e\8e\82µ\82É\82â\82Á\82Ä\82Ý\82é\82±\82Æ - manifest\82ðDPI aware\82É\95Ï\82¦\82Ä\82Ý\82é
-<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0" xmlns:asmv3="urn:schemas-microsoft-com:asm.v3" >
-  <asmv3:application>
-    <asmv3:windowsSettings xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">
-      <dpiAware>true</dpiAware>
-    </asmv3:windowsSettings>
-  </asmv3:application>
-</assembly>
-\81E\82â\82é\82±\82Æ
- - manifest\82ÅDPI awareness\82ð\8ew\92è(or SetProcessDpiAwareness API) - DokoPop!\82Ímonitor\82²\82Æ\82É\82·\82é\95K\97v\82ª\82 \82é(\82½\82¾\82µ8.1\88È\8d~)
- - GetDpiForMonitor() \82ÅDPI\8eæ\93¾ (8.1\88È\8d~\82Ì\82Ý)
- - WM_DPICHANGED\82ðhandling\82·\82é
\81ª\82±\82Ì\95û\96@\82¾\82Æ8.1\88È\8d~\82µ\82©\91Î\89\9e\82Å\82«\82È\82¢\82Ì\82Å\82Í\81H
-\81E\82â\82é\82±\82Æ\81E\82»\82Ì\82Q
-https://msdn.microsoft.com/ja-jp/library/windows/desktop/dn469266%28v=vs.85%29.aspx#appendix_a_setting_high_DPI_in_windows
-\82±\82ê\82æ\82è\81A
-ScaleFactor = (LogicalMonitorWidth/LogicalDesktopWidth) / (PhysicalMonitorWidth/PhysicalDesktopWidth)
-
-MONITORINFOEX LogicalMonitorInfo;
-LogicalMonitorInfo.cbSize = sizeof(MONITORINFOEX);       
-GetMonitorInfo(hMonitor, &LogicalMonitorInfo);
-LogicalMonitorWidth = LogicalMonitorInfo.rcMonitor.right - LogicalMonitorInfo.rcMonitor.left;
-
-LogicalDesktopWidth = GetSystemMetrics(SM_CXVIRTUALSCREEN);
-
-(PhysicalDesktopWidth, PhisicalMonitorWidth) = QueryDisplayConfig()\82ÌDISPLAYCONFIG_MODE_INFO\82ÌpModeInfoArray[i].sourceMode.width
-
-(\8eQ\8dl)Windows8\82É\82Í\81A
-PhysicalToLogicalPoint/LogicalToPhysicalPoint\82Æ\82¢\82¤\82à\82Ì\82ª\82 \82é\82»\82¤\82È\81B
-https://msdn.microsoft.com/ja-jp/library/windows/desktop/dn384112%28v=vs.85%29.aspx
-
-PhysicalToLogicalPointForPerMonitorDPI function/LogicalToPhysicalPointForPerMonitorDPI - \82±\82ê\82ÍDPI-awareness levelo\82Ì\89e\8b¿\82ð\8eó\82¯\82È\82¢ (Win8.1\88È\8d~)
-GetDpiForMonitor - (Win8.1\88È\8d~)
-
-\81HPhysical Desktop Width/Physical Monitor Width
-> To get the physical desktop width and physical monitor width, call QueryDisplayConfig. For each DISPLAYCONFIG_MODE_INFO in the returned pModeInfoArray, check the pModeInfoArray[i].sourceMode.width (and height and position) to reconstruct the bounding rect of all the monitors.
-\82Æ\82 \82é\82ª\81A\82Ç\82Ì\82æ\82¤\82É\8eæ\93¾\82·\82ê\82Î\82¢\82¢\82Ì\82¾\81H
-source\82ªdesktop\82Åtarget\82ªmonittor\81H
-
-\88È\8fã\82ª\90³\82µ\82¢\82Æ\82·\82é\82Æ\81AScaleFactor\82Í\81A
-ScaleFactor = (1280/1280) / (1920/1920) = 1 \82Æ\82È\82Á\82Ä\82µ\82Ü\82¤\81H\81H\81\97VAIO
-
-\81¡TODO
-\81E[B] x64\82Í\95Ê\83f\83B\83\8c\83N\83g\83\8a\82É\82·\82é\82Æ\8f]\97\88\83t\83b\83N\82ª\93®\82­\82æ\82¤\82É\82È\82é\82Ì\82Å\82Í\81H
-  \81¨\82È\82³\82»\82¤
-\81E[B-] MODI\83C\83\93\83X\83g\81[\83\8b\82Í\90ê\97p\89æ\96Ê\82É\82·\82é(URL\83W\83\83\83\93\83v)
-  - \8dÅ\8f\89\82Ì\89æ\96Ê\82Í\90ê\97pDLG\82É\82·\82é
-  \81¨\88ê\92U\8e©\95ª\82ÌHP(source forge?)\82É\94ò\82ñ\82Å\82©\82çredirect?
-\81E[B] \8fí\82É\94F\8e¯\82ð\8ds\82¤AMODI\82ð\82à\82¤\88ê\82Â\97p\88Ó\82µ\82Ä\81A\83|\83b\83v\83A\83b\83v\82·\82é\82Ü\82Å\82Ì\8e\9e\8aÔ\82ð\92Z\8fk\82µ\82Ä\82Ý\82Ä\82Í\82Ç\82¤\82©\81H
-  - \8f­\82µ\82µ\82©\88Ú\93®\82µ\82Ä\82¢\82È\82¢\8fê\8d\87\81A\94F\8e¯\82µ\82½\8dÀ\95W\82Ì\83I\83t\83Z\83b\83g\82ð\8cv\8eZ\82·\82é\82Æ\82©\81H
-\81E[B] MODI\83C\83\93\83X\83g\81[\83\8b\8cã\81ADokoPop!\8dÄ\8bN\93®\96³\82µ\82É\82Å\82«\82È\82¢\82©\81H
-  \81¨AMODI.exe\82ð\8eÀ\8ds\82·\82é\95K\97v\82ª\82 \82é\82½\82ß\81A\8f\88\97\9d\82Æ\82µ\82Ä\82Í\8c\8b\8d\\8fd\82¢
-  \81¨Wizard\8c`\8e®\82É\82·\82é\95K\97v\82ª\82 \82é\82Ì\82Å\82Í\81H
-\81EWizard\8c`\8e®\82Ì\8c\9f\93¢
-  - AMODI.exe\8eÀ\8ds\83G\83\89\81[\81¨MODI\82ª\83C\83\93\83X\83g\81[\83\8b\82³\82ê\82Ä\82¢\82È\82¢\82Æ\89¼\92è\82·\82é
-  - \83C\83\93\83X\83g\81[\83\8b\89Â\94Û\82Ì\96â\82¢\8d\87\82í\82¹
-  - Web\83y\81[\83W\82ð\95\\8e¦\82µ\82Ä\83C\83\93\83X\83g\81[\83\8b\82ð\8ds\82¤\81©\8e©\91O\82ÌHP\82ð\97p\88Ó\82·\82é
-       - \83C\83\93\83X\83g\81[\83\8b\82Ì\88ê\94Ô\8dÅ\8cã\82ÉDokoPop!\82Ì\91\80\8dì(\8dÄ\8bN\93®\81H\81j\82ð\91£\82·
-\81E[B] Ctrl\83L\81[\82ð\97£\82µ\82½\82ç\95Â\82\82é\82ð\8aO\82·\82ª\93®\82©\82È\82¢
-\81E[B] aero/metro\97L\8cø\8e\9e\82Ì\93®\8dì\83e\83X\83g
-\81E[B] PDIC\96{\91Ì\82Ì\8bN\93®\8am\94F\82Í\82Ç\82¤\82·\82é\81H
-\81E[B] VUP\8b@\94\
-\81E[B] Q&A\82Ì\97p\88Ó
-\81E[C] VUP\92Ê\92m\8b@\94\
-\81E[C] amodi OCR\93®\8dì\92\86\82ð\82Ç\82±\82©\82Å\8fo\82µ\82½\82Ù\82¤\82ª\82¢\82¢\82Ì\82Å\82Í\81H
-\81E[C] \82à\82¤\8f­\82µclickable area\82ð\8dL\82­\82Å\82«\82È\82¢\82©\81Hpdf\82Å\82Í\83q\83b\83g\82³\82¹\82é\82Ì\82ª\93ï\82µ\82¢\81¨MARGIN_UNDER_CLICK\82Å\92²\90®
-\81E[C] metro\8fã\81AWin8/PDF Viewer\8fã\82È\82Çwin8\93Æ\8e©\83A\83v\83\8a\82Å\82Ì\93®\8dì\83e\83X\83g
-\81E[B] biggest\82ª\83q\83b\83g\82µ\82È\82¢
-\81E[C] \93ñ\8fd\8bN\93®\93®\8dì\83e\83X\83g
-\81E[C] installer
-  - version\8e©\93®\95t\82¯\91Ö\82¦\8b@\94\
-\81E[B?] popup\8c\9f\8dõ\8e\9e\82àmulti thread\82É\82·\82é
-  - \82»\82ê\82æ\82è\81A\97D\90æ\8f\87\88Ê\82Ì\8d\82\82¢\82à\82Ì\82©\82ç\97D\90æ\93I\82É\95\\8e¦\82µ\82½\82Ù\82¤\82ª\82¢\82¢\82©\82à\82µ\82ê\82È\82¢
-  - \82Ç\82±\82Å\8e\9e\8aÔ\82ª\82©\82©\82Á\82Ä\82¢\82é\82Ì\82©\82à\82¤\8f­\82µ\8fÚ\82µ\82­\92²\82×\82é
-\81E[C] AMODI\88Ù\8fí\8fI\97¹\91Î\8dô
-  - DLL\82à\88ê\8f\8f\82É\8e\80\96S\82·\82é\82½\82ß\81A\8dÄ\8bN\93®\82µ\82©\82È\82¢\81H\81¨\90Ý\92è\82ª\8c³\82É\96ß\82é\82à\82Ì\82ª\82 \82é\82½\82ß\82æ\82ë\82µ\82­\82È\82¢
-\81E[C?] PDIC\8fã\82Å\82Íinc.srch\82ª\93®\8dì\82µ\82È\82¢\82æ\82¤\82É\82·\82é\81¨\96â\91è\82È\82¢\81H
-\81E[C] button down\82ðtrigger\82É\82µ\82Ä\82¢\82é\82ª\81Abutton up\82ðtrigger\82É\82µ\82Äup cancel\82·\82é\82Ì\82ð\8e~\82ß\82Ä\82Ý\82Ä\82Í\81H
-  [\95\8c¾]
-   MODI\82ð\83C\83\93\83X\83g\81[\83\8b\82·\82é\82ÆDokoPop!\82Å\8c\9f\8dõ\82Å\82«\82é\83A\83v\83\8a\82ð\91\9d\82â\82·\82±\82Æ\82ª\82Å\82«\82Ü\82·\81B
-   (URL)\82ð\8eQ\8dl\82É\83C\83\93\83X\83g\81[\83\8b\82ð\8ds\82Á\82Ä\82­\82¾\82³\82¢\81B
-   \81¦\83\8a\83\93\83N\90æ\82Ì\83y\81[\83W\82ª\90³\82µ\82­\95\\8e¦\82³\82ê\82È\82¢\8fê\8d\87\82Í\81A"MODI OCR \83C\83\93\83X\83g\81[\83\8b"\82Å\83l\83b\83g\8c\9f\8dõ\82µ\82Ä\92²\82×\82Ä\82Ý\82Ä\82­\82¾\82³\82¢\81B
-   \81¦Win2K\82Å\82Í\82»\82Ì\82Ü\82Ü\82Å\82Í\8eg\97p\82Å\82«\82Ü\82¹\82ñ\81B
-\81E[C] AMODI\82Ì\8fI\97¹\91Î\8dô
-  - DokoPop!\8dÄ\8bN\93®\82Å\82¢\82¢\82©\81H
-  - \8dÅ\92á\82Å\82à\8cx\8d\90\82ð\8fo\82µ\82½\95û\82ª\81H
-\81E[C] \83l\83b\83g\83\8f\81[\83N\83\82\81[\83h - AMODI\82ðserver\8fã\82É\92u\82­
-  - Windows\8b¤\97L\82Å\82¢\82¢\81H - \82±\82Ì\8dÛ\81A\83t\83@\83C\83\8b\8ew\92è\82ª\95K\97v
-  - TCP/IP\82Í\8d\82\91¬\82¾\82¯\82Ç\81A\96Ê\93|\82¾\82µ\82È\81B\81B
-       reponse\82ª\88«\82¯\82ê\82ÎTCP/IP\82ð\8dl\82¦\82é
-
-\81¡BUG\8a®\97¹
-\81E[B] MODI install - \83^\83C\83~\83\93\83O\82ª\88«\82¢\82Æ\81A
-  MODI\83C\83\93\83X\83g\81[\83\8b\92\86\82ÉMODI\94F\8e¯\81¨\8dÄ\8bN\93®\81¨MODI\8cë\94F\81iinstall\82³\82ê\82Ä\82¢\82È\82¢\81j\81¨\8dÄ\82Ñ\83C\83\93\83X\83g\81[\83\8b\82µ\82ëDialog
-  \81¨interval\82ð\92u\82¢\82Ächeck\82·\82é\82æ\82¤\82É\82µ\82½
-\81E[B] MODI\83C\83\93\83X\83g\81[\83\8bDIALOG\82ð\95Â\82\82é\82Æ\83^\83X\83N\83o\81[\82É\83A\83C\83R\83\93\82ª\8ec\82é
-  \81¨FormCreate\92\86\82Édialog\82ð\95\\8e¦\82³\82¹\82½\82½\82ß\81¨IdleProc\82Ö
-\81E[A] \8f]\97\88\82Ìdokopop\82ª\93®\82©\82È\82­\82È\82Á\82½@vaio
-  \81¨USE_VXD\91Î\89\9e\82É\82æ\82èWindowsNT flag\82ªfalse\82É\82È\82Á\82Ä\82µ\82Ü\82Á\82½\82½\82ß\81AGetTextFromPoint()\82ª\8eÀ\8e¿\89½\82à\8eÀ\8ds\82¹\82¸-1\82ð\95Ô\82µ\82Ä\82¢\82½\82½\82ß\81B
-\81E[B?] \8f\89\8aú\89»\8e\9e\82É64\91¤\82ÌConfig2\82ª\8cÄ\82Î\82ê\82È\82¢\81H
-  \81¨pdhk64\82ª\8f\89\8aú\89»\8a®\97¹\82·\82é\91O\82ÉConfig\82µ\82Ä\82¢\82½
-\81EPDF\82Å\94÷\96­\82É\8fã\89º\88Ê\92u\82ª\82¸\82ê\82é\82Æ\82«\82ª\82 \82é\81¨\94F\8e¯\91Î\8fÛ\95\8e\9a\97ñ\82Ì\90æ\93ª\82É\97]\8cv\82È\8bó\8ds\82ª\93ü\82é\8fê\8d\87\82ª\82 \82Á\82½\82½\82ß
-\81E[C] \83C\83\93\83N\83\8a\83\81\83\93\83^\83\8b\83T\81[\83`ON\82Å\97\8e\82¿\82é
-  - Config2()\82ð\8cÄ\82Ñ\8fo\82µ\82Ä\82¢\82é\82¾\82¯\82Ì\82Í\82¸\82¾\82ª\81Ahook/unhook\82ª\8cÄ\82Î\82ê\82Ä\82¢\82é
-       \81¨Config2()\82©\82çTHookLoader::Capture\82Ü\82Å\82Ì\8aÔ\82É\8cÄ\82Î\82ê\82Ä\82¢\82é
-       \81¨config\92¼\8cã\82Émouse move message\82ªcallback\82³\82ê\81A\82·\82®\82Écapture\82·\82é\82©\82ç\82¢\82¯\82È\82¢\82Ì\82©\81H
-       \81¨\82¢\82â\81AhDll->Capture()\8e©\91Ì\82ª\95s\88À\92è\82¾\82Á\82½\81B\82Æ\82¢\82¤\82±\82Æ\82Í\90ö\8dÝ\93I\82É\82 \82Á\82½\96â\91è\81H(AMODI=OFF)
-       \81¨DBW\82ðOFF\82É\82µ\82½\82ç\89ð\8c\88\81i\82Å\82Í\89½\82ª\96{\93\96\82Ì\8c´\88ö\81H\81j
-\81E[B] VS2010\82Ì\83G\83f\83B\83^\81[\82Å\90³\8fí\82É\93®\82©\82È\82¢
-  \81¨click point\82ª100pixel\82­\82ç\82¢\89E\82É\82¸\82ê\82Ä\82¢\82é\81H\8fã\89º\95û\8cü\82à
-  \81¨amodi\91¤\82Í\96â\91è\82È\82µ\81Bcaptured image\82Æcursor\8dÀ\95W\82ª\82¸\82ê\82Ä\82¢\82é\81H
-   - capture page\82ð\82µ\82Ä\82à\82¸\82ê\82Ä\82¢\82é\81B
-  \81¨\82í\82©\82Á\82½\81Bmouse cursor\82ÍGetWindowRect()\82É\82æ\82éwindow\91S\91Ì\82È\82Ì\82É\91Î\82µ\81A
-       \89æ\91\9c\82ÍGetWindowDC()+BitBlt(hdc)\82Å\82â\82Á\82Ä\82¢\82é\82½\82ß\81Ahdc\82ª\91Î\8fÛ\82É\82È\82Á\82Ä\82µ\82Ü\82¤\81B
-  \81¨screen\8dÀ\95W\8cn\82Åpoint\82ð\88µ\82¢\81A\89æ\91\9c\82ÍGetWindowRect()\82Ì\97Ì\88æ\82ðBitBlt\82·\82é\82±\82Æ\82Å\91Î\89\9e
-\81E[B][inc.srch] \83}\83E\83X\89º\82Ì\83A\83v\83\8a\82ª\97\8e\82¿\82é(task manager@7 task manager,explorer@XP)
-  \81¨SendMessage( hwnd, WM_PAINT, (WPARAM)hdcMeta, 0 );
-       \82Å\97\8e\82¿\82Ä\82¢\82½\82Ì\82Å\81ARETRYMETA\82ð0\82É\82µ\82½\81¨\82Ü\82¾\97\8e\82¿\82é
-  \81¨MouseProc\82ÆDoCapture\82ð\95ª\97£\82·\82ê\82Î\88À\92è\82·\82é\82ñ\82\82á\82È\82©\82ë\82¤\82©\81H
-  \81¨\8c\8b\98_\81F\95ª\97£\82µ\82Ä\81ADBW\82Í\95s\88À\92è\82É\82µ\81ADCHookTest.exe\82Ìbreakpoint\82à\95s\88À\92è\97v\88ö
-\81E[A] Chrome\82ÅCtrl+\89E\83N\83\8a\83b\83N\82·\82é\82Æhit window\82ª\8fo\82é\92¼\91O\82ÉChrome\82ª\97\8e\82¿\82é
-  \81¨CaptureText\82ª\88«\82¢\82æ\82¤\82¾
-  \81¨ExtTextOutX()\82Ì\8f\91\82«\8a·\82¦(METAEXTTEXTOUT)\8e©\91Ì\82ª\8c´\88ö(\91ã\91Ö\8aÖ\90\94\82Ì\96â\91è\82Å\82Í\82È\82¢\81j
-  \81¨\8d¡\82Ü\82Å\82È\82º\93®\82¢\82Ä\82¢\82½\81H
-  - SetWriteProtect()\82Åprotect\89ð\8f\9c\82µ\82½\82Ì\82ª\88«\82¢\82æ\82¤\82¾
-  - \82»\82ê\82æ\82è\81AhProcess\82ªerror\82ð\8bN\82±\82µNULL\82¾\82Á\82½
-       \81¨\82±\82ê\82Å\97\8e\82¿\82é\82±\82Æ\82Í\89ð\8fÁ\82Å\82«\82½\82ª\81AhProcess\82ªNULL\82Ì\96â\91è\82ª\82 \82é
-\81E[CB] OpenProcess\82Åerror
-  \81¨EnablePrivilege()\82ð\92Ç\89Á\82·\82é\82±\82Æ\82ÅOK
-\81E[B] inc.srch\82Ì\93®\8dì\82ª\8fd\82¢
-  - ExecOCR-2\82Ì\8cã\82ª\82Ù\82Ú\92â\8e~\8fó\91Ô
-  \81¨MODI OCR Error\82ª\94­\90\82µ\82½\82Æ\82«\82É1.4sec\82Ù\82Ç\8e~\82Ü\82é
-  \81¨\94\92\82Ì\89æ\91\9c\82ª\82Å\82«\82Ä\82¢\82é
-  \81¨\8e\9e\81XGetDIBits()\82Å\8e¸\94s(error code\95s\96¾)\81B
-  \81¨\89æ\91\9c\83R\83s\81[\82Ì\83G\83\89\81[\83`\83F\83b\83N\82ð\82µ\82Á\82©\82è\82â\82Á\82½\82çMODI OCR Error\82Í\8bN\82«\82Ä\82¢\82È\82¢
-
-\81¡FAQ
-\81E\8aÇ\97\9d\8eÒ\8c \8cÀ\82Ì\83A\83v\83\8a\8fã\82Å\82Í\93®\8dì\82µ\82È\82¢
-\81@\81¨\8aÇ\97\9d\8eÒ\8c \8cÀ\82ÅDoioPop!\82ð\8bN\93®\82·\82ê\82Î\89Â\94\
-  \81¨MODI\82ð\8eg\97p\82·\82ê\82Î\89Â\94\\81H
-
-\81¡Note
-\81EDCHook.dll\82ðVisualC++ 2010\82Å\83r\83\8b\83h\82·\82é\82Æ\81AWindows2000\82Å\93®\8dì\82µ\82È\82­\82È\82Á\82Ä\82µ\82Ü\82¤\81I\81I
-  \81iLoadLibrary\82Å\83G\83\89\81[\81j
-  \81¨DCHook/DCHook.6.0.sln\82ðVisualStudio2008\82Å\8aJ\82«\81A\83r\83\8b\83h\82·\82é
-\81E64bit\83A\83v\83\8a\8fã\81¨32bitDLL\82Ì\82Ý\82ª\94½\89\9e
-  32bit\83A\83v\83\8a\8fã\81¨32bit/64bit\97¼\95û\82ÌDLL\82ª\94½\89\9e
-
-\81¡MODI
-WindowsXP\88È\8d~\91Î\89\9e(?)
-- MDI to TIFF File Converter
-  \81¨\83C\83\93\83X\83g\81[\83\8b\82µ\82Ä\82Ý\82½\82ªbuild\82Å\82«\82¸(C:\Program Files (x86)\modiconv\82Émdivwctl.dll\82Æ\82¢\82¤\83t\83@\83C\83\8b\82Í\8c©\82Â\82©\82ç\82È\82©\82Á\82½\81j
-- SharePoint Designer 2007\82ð\83C\83\93\83X\83g\81[\83\8b
-  http://www.microsoft.com/ja-jp/download/details.aspx?id=21581
-  "C:\Program Files (x86)\Common Files\Microsoft Shared\MODI\12.0"
-  \82É
-  MDIVWCTL.DLL
-  \82Æ\82¢\82¤\83t\83@\83C\83\8b\82ª\82Å\82«\82é\82Ì\82Å\81A\82±\82ê\82ðC#\82Ì\83v\83\8d\83W\83F\83N\83g\82Ì\8eQ\8fÆ\83p\83X\82É\8ew\92è\82·\82é
-  \81¦MODI/11.0\82Å\82Íamodi\82ªbuild\82Å\82«\82È\82¢(MODI\82ª\8c©\82Â\82©\82ç\82È\82¢error)@XP/VS2010
-- SharePoint Designer\82È\82ñ\82Ä\8eg\82í\82È\82¢\81A\82Ù\82©\82Ì\95û\96@\82Í\82È\82¢\82©\81H
-  http://support.microsoft.com/kb/982760/ja-jp
-  \82½\82¾\82µ\81A\93®\8dì\96¢\8am\94F\81¨\83\8a\83\93\83N\90Ø\82ê2014.11.11
-
-\81¡BUILD
-\81EDCHook64 - VisualC++ 2010\82Å\8dì\90¬
-\81E2016.9.22
-  DCHook.vcproj\82Éx64\97p\82ÌConfiguration\82ð\92Ç\89Á\81AVS3008\82Åx64\82ð\83r\83\8b\83h\82Å\82«\82é\82æ\82¤\82É\82µ\82½\81B
-  DCHook\VS2003, DCHook\VS2008, DCHook\VS2015\82Æ\82¢\82¤\83f\83B\83\8c\83N\83g\83\8a\82ð\8dì\90¬\82µ\82½\82ª\82¢\82¸\82ê\82à\90³\8fí\82É\82¢\82©\82È\82¢\81B
-  VS2008\82É\82Â\82¢\82Ä\82Í.vcproj\83t\83@\83C\83\8b\82ðDCHook\DCHook.vcproj\83t\83@\83C\83\8b\82Æ\94ä\8ar\82µ\82Ä\90Ý\92è\82·\82ê\82Î\82¤\82Ü\82­\93®\82­\82æ\82¤\82É\82È\82é\82Æ\8ev\82¤
-  \8c»\8e\9e\93_\82Ì\83v\83\8d\83W\83F\83N\83g
-  DCHook.6.0.sln, DCHook.vcproj\82ðVS2008\82Å\83r\83\8b\83h\82·\82é
-  \81¦DCHook.sln\82ÍVS2010\97p
-