{"id":106991,"date":"2020-05-29T00:39:32","date_gmt":"2020-05-28T16:39:32","guid":{"rendered":"http:\/\/4563.org\/?p=106991"},"modified":"2020-05-30T00:41:50","modified_gmt":"2020-05-29T16:41:50","slug":"robotgo-v0-90-0-%e5%8f%91%e5%b8%83%e4%ba%86-go-%e8%b7%a8%e5%b9%b3%e5%8f%b0-gui-%e8%87%aa%e5%8a%a8%e5%8c%96-%e5%a4%a7%e5%b9%85%e5%ba%a6%e6%9b%b4%e6%96%b0-%e6%9b%b4%e5%b9%b6%e5%8f%91%e5%92%8c","status":"publish","type":"post","link":"http:\/\/4563.org\/?p=106991","title":{"rendered":"Robotgo v0.90.0 \u53d1\u5e03\u4e86, Go \u8de8\u5e73\u53f0 GUI \u81ea\u52a8\u5316. \u5927\u5e45\u5ea6\u66f4\u65b0, \u66f4\u5e76\u53d1\u548c\u73b0\u4ee3\u7684 hook API \u548c\u591a\u5c4f\u652f\u6301\u7b49"},"content":{"rendered":"<div>\n<div>\n<div>\n<h1>                  Robotgo v0.90.0 \u53d1\u5e03\u4e86, Go \u8de8\u5e73\u53f0 GUI \u81ea\u52a8\u5316. \u5927\u5e45\u5ea6\u66f4\u65b0, \u66f4\u5e76\u53d1\u548c\u73b0\u4ee3\u7684 hook API \u548c\u591a\u5c4f\u652f\u6301\u7b49               <\/h1>\n<p> <\/p>\n<div>\n<div> <span>\u8cc7\u6df1\u5927\u4f6c : vway <\/span>  <span><i><\/i> 2<\/span> <\/div>\n<div> <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div isfirst=\"1\"> <\/p>\n<p>Robotgo v0.90.0 \u53d1\u5e03\u4e86\uff0cGolang \u8de8\u5e73\u53f0\u63a7\u5236\u9f20\u6807\u3001\u952e\u76d8\u3001\u4f4d\u56fe\u3001\u5c4f\u5e55\u3001\u7a97\u53e3\u53e5\u67c4\u4ee5\u53ca\u5168\u5c40\u4e8b\u4ef6\u76d1\u542c\u3002<\/p>\n<p>\u8be5\u7248\u672c\u4e3b\u8981\u589e\u52a0: \u66f4\u73b0\u4ee3\u548c\u5e76\u53d1\u7684 gohook API, \u5c1d\u8bd5\u591a\u5c4f\u652f\u6301, \u66f4\u65b0 keycode \u65e0\u9700 type \u8f6c\u6362, \u652f\u6301 windows non-POSIX gcc;<\/p>\n<p>Linux \u4e0b TypeStr \u4f18\u5316\u5e76\u4fee\u590d bug, \u589e\u52a0 ToBitmapBytes() \u548c\u591a\u5e73\u53f0 system scale \u652f\u6301, \u5bfc\u51fa\u5e76\u589e\u52a0\u66f4\u591a keycode \u652f\u6301, \u66f4\u591a win32 \u65b9\u6cd5\u5bfc\u51fa\u7b49\u4e00\u4e9b\u5217\u7684\u5927\u66f4\u65b0.<\/p>\n<p>\u589e\u52a0\u66f4\u591a\u793a\u4f8b\u3001\u6d4b\u8bd5\u4ee3\u7801, \u652f\u6301 Linux \u6d4b\u8bd5\u548c Github Actions, \u4fee\u590d bug \u7b49.<\/p>\n<p>\u9879\u76ee\u5730\u5740: https:\/\/github.com\/go-vgo\/robotgo<\/p>\n<h1>MT. Rainier<\/h1>\n<p> <\/p>\n<h2>Add<\/h2>\n<p>add gohook modern and concurrent API, add new gohook examples, thks for cauefcr<\/p>\n<p>Support for multiple screens, add getMousePos() multiple screens support, add move smooth multiple screens support<\/p>\n<p>add all platform system scale support, add get screen size test code<\/p>\n<p>add screen and bitmap multiple screens support, add int32_t types support<\/p>\n<p>update keycode type use uint16 with gohook, not type convert; add ToBitmapBytes func (#204)<\/p>\n<p>gohook: sched_yield support for non-POSIX windows gcc<\/p>\n<p>add gops test code support, add Process() function test code, add more gops test code<\/p>\n<p>add more win32 function export<\/p>\n<p>add get mouse color function<\/p>\n<p>add uint32 to Chex function support<\/p>\n<p>add key_Toggles() c function, add keyTap and keyToggle &#8220;&#8230;string&#8221; parameters support, Fixed #209<\/p>\n<p>add robotgo simple test code<\/p>\n<p>add Is64Bit() c and go function<\/p>\n<p>add process FindPath() function<\/p>\n<p>add keycode &#8220;delete&#8221; support and fixed &#8220;&#8221; error add more keycode support, &#8220;up, down, left, right&#8221;&#8230;<\/p>\n<p>export hook keycode and add godoc<\/p>\n<p>use robotn fork xgb and update go mod<\/p>\n<p>add hook example to robotgo examples<\/p>\n<p>update gohook and tt mod file<\/p>\n<p>add more and update test code<\/p>\n<p>add drag smooth function support and examples<\/p>\n<p>add ShowAlert() test support<\/p>\n<p>update keypress rand sleep [reduce] and update code style, update c delay default value to 0<\/p>\n<p>add mouse toggle return and add more test<\/p>\n<p>add SetDelay function code and update other code<\/p>\n<p>add scaled function code<\/p>\n<p>add go opencv file<\/p>\n<p>add readme.md file<\/p>\n<p>add move mouse and move smooth relative code<\/p>\n<p>add move mouse and move smooth relative examples<\/p>\n<p>add more test code and update go tt mod<\/p>\n<p>add more bitmap test code<\/p>\n<p>add SaveImg function code<\/p>\n<p>add drop function hint print support<\/p>\n<p>add more key test code, add more test code, add paste string test code, add xvfb run codecov test<\/p>\n<p>add keycode test support<\/p>\n<p>add FindPath example code<\/p>\n<p>add KeyTap() args[2] delay support<\/p>\n<p>add find bitmap nil args support<\/p>\n<p>add find color nil args support<\/p>\n<p>add drag and move mouse multiple screens support<\/p>\n<p>add drag mouse test code<\/p>\n<p>Use CGDisplayBounds not CGDisplayPixelsWide, optimize get mac display size \u2026<\/p>\n<p>Update TypeStr function, add type delay and speed support<\/p>\n<p>update PasteStr function code return error<\/p>\n<h2>Update<\/h2>\n<p>Update robot info test code and Add go.yml test support<\/p>\n<p>use while not for match special key map remove unless x11 special key and sort<\/p>\n<p>update go mod pkg update mod vendor remove vendor and update .gitignore<\/p>\n<p>update and fmt config.yml, add Linux go test support update Linux CI support x11 test<\/p>\n<p>move hook to hook.go<\/p>\n<p>update appveyor and test code update version and code style<\/p>\n<p>update move mouse smooth test code<\/p>\n<p>update clipboard code and add test code<\/p>\n<p>update test code and add codecov support<\/p>\n<p>update show alert test code<\/p>\n<p>update keycode.go<\/p>\n<p>update window examples code<\/p>\n<p>update test code remove windows alert test<\/p>\n<p>move gops code to ps.go<\/p>\n<p>update version<\/p>\n<p>update unix get title type<\/p>\n<p>gofmt go code and update code style<\/p>\n<p>add ToBitmapBytes examples code<\/p>\n<p>update example code, fixed golint warning<\/p>\n<p>update bitmap example code<\/p>\n<p>Update CHANGELOG.md<\/p>\n<p>update code style<\/p>\n<p>update godoc<\/p>\n<p>update keytap code and code style<\/p>\n<p>update Bitmap struct delete fuzzy api<\/p>\n<p>update key examples code<\/p>\n<p>add bitmap from string clear api<\/p>\n<p>update go mod vendor update go mod pkg not proxy<\/p>\n<p>update bitmap example code<\/p>\n<p>update test code fixed appveyor CI<\/p>\n<p>update test code fixed equal error<\/p>\n<p>update hook godoc<\/p>\n<p>update event example code<\/p>\n<p>update godoc and code style<\/p>\n<p>update key example code<\/p>\n<p>Update example README.md<\/p>\n<p>update and tidy go mod<\/p>\n<p>update code remove duplicate code and update godoc<\/p>\n<p>update xgb getXid log<\/p>\n<p>update GetBounds x11 error log<\/p>\n<p>update cgo code and version<\/p>\n<p>update TypeString function code [Drop]<\/p>\n<p>update key example code<\/p>\n<p>Update TypeStr function, optimize x11 type string<\/p>\n<p>Update TypeStrDelay function, remove unused code<\/p>\n<p>update code fixed x11 type sleep<\/p>\n<p>Update key example code<\/p>\n<p>use gops to simplify code update key examples code<\/p>\n<p>update bitmap examples code<\/p>\n<p>update colorpicker and findcolor example code<\/p>\n<p>update bitmap example code<\/p>\n<p>update robotgo test code, add more test<\/p>\n<p>Update README.md<\/p>\n<p>rename type names make clearer<\/p>\n<p>update types.h code and fixed bug<\/p>\n<p>remove unused code fixed x11 build error<\/p>\n<p>update robot info test code and appveyor<\/p>\n<p>Update README.md, Add more CI badge<\/p>\n<p>update gohook pkg and robot info test code<\/p>\n<p>Update linux upper code, add more special key support<\/p>\n<p>Create go.yml Update go.yml add more test and update go.yml Update dockerfile to go1.13.5<\/p>\n<p>update dockerfile and appveyor.yml Update dockerfile and appveyor.yml to go1.14.3<\/p>\n<p>remove Travis go1.11.x update appveyor and dockerfile to go1.13.1 update dockerfile, go.yml and appveyor.yml to go1.14<\/p>\n<p>update travis.yml to go1.14.x and remove go1.13.x Update and fmt appveyor.ymlu update dockerfile and appveyor to go1.12.5<\/p>\n<p>update appveyor and dockerfile to go1.12.6<\/p>\n<p>add CI go1.13 support update config.yml update and fmt travis.yml Update Travis remove go1.12.x<\/p>\n<p>Update issue and pull request template<\/p>\n<h2>Fix<\/h2>\n<p>Update to utf-code function Fixed #189<\/p>\n<p>Update x11 keypress upper code Fixed #243<\/p>\n<p>type conversion needed in addMouse (#201)<\/p>\n<p>update hook, Fixed #202 fatal error: concurrent map writes<\/p>\n<p>add key Kind Fixed #203<\/p>\n<p>optimize get title code, Fixed #165 and typo<\/p>\n<p>Fixed gohook#3 mouse is_drag error on x11<\/p>\n<p>Fixed #213 AddEvents() can&#8217;t listen correctly multiple times<\/p>\n<p>update clipboard error hand Fixed #212<\/p>\n<p>Update go.mod fixing issue &#8220;invalid pseudo-version: does not match version \u2026<\/p>\n<p>update keyboard example code, #238<\/p>\n<p>update go mod file Fixed #239<\/p>\n<p>update gops and other mod files fixed bug<\/p>\n<\/p><\/div>\n<div> <b>\u5927\u4f6c\u6709\u8a71\u8aaa<\/b> (<span>6<\/span>)        <\/div>\n<div> <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<ul>\n<li data-pid=\"1778863\" data-uid=\"2\">\n<div>\n<div>\n<div> <span>\u8cc7\u6df1\u5927\u4f6c : ziiber <\/span>  <\/div>\n<div> <i title=\"\u5f15\u7528\"><\/i>  <span>          <\/span> <\/div>\n<\/p><\/div>\n<div>                                                             \u9047\u5230\u5927\u4f6c\u4e86 <img decoding=\"async\" src=\"http:\/\/4563.org\/wp-content\/uploads\/2020\/05\/5Aap1iN6-8.png\" alt=\"Robotgo v0.90.0 \u53d1\u5e03\u4e86, Go \u8de8\u5e73\u53f0 GUI \u81ea\u52a8\u5316. \u5927\u5e45\u5ea6\u66f4\u65b0, \u66f4\u5e76\u53d1\u548c\u73b0\u4ee3\u7684 hook API \u548c\u591a\u5c4f\u652f\u6301\u7b49\"> <\/div>\n<\/p><\/div>\n<\/li>\n<li data-pid=\"1778864\" data-uid=\"2\">\n<div>\n<div>\n<div> <span>\u4e3b<\/span> <span>\u8cc7\u6df1\u5927\u4f6c : vway <\/span>  <\/div>\n<div> <i title=\"\u5f15\u7528\"><\/i>  <span>          <\/span> <\/div>\n<\/p><\/div>\n<div>                                                             @ziiber                                                             <\/div>\n<\/p><\/div>\n<\/li>\n<li data-pid=\"1778865\" data-uid=\"2\">\n<div>\n<div>\n<div> <span>\u8cc7\u6df1\u5927\u4f6c : dbskcnc <\/span>  <\/div>\n<div> <i title=\"\u5f15\u7528\"><\/i>  <span>          <\/span> <\/div>\n<\/p><\/div>\n<div>                                                             \u8fd9\u4e2a\u529b\u5ea6\u4e0d\u9519\uff0c \u53ef\u4ee5\u4e0d\u7528 autoit \u4e86                                                            <\/div>\n<\/p><\/div>\n<\/li>\n<li data-pid=\"1778866\" data-uid=\"2\">\n<div>\n<div>\n<div> <span>\u8cc7\u6df1\u5927\u4f6c : vencent <\/span>  <\/div>\n<div> <i title=\"\u5f15\u7528\"><\/i>  <span>          <\/span> <\/div>\n<\/p><\/div>\n<div>                                                             \u8fd9\u4e2a\u80fd\u5b9e\u73b0\u53d6\u67d0\u4e2a macOS \u7684\u5e94\u7528\u4e0a\u7684 UI \u5143\u7d20\u7684\u6587\u672c\u4e48                                                            <\/div>\n<\/p><\/div>\n<\/li>\n<li data-pid=\"1778867\" data-uid=\"2\">\n<div>\n<div>\n<div> <span>\u4e3b<\/span> <span>\u8cc7\u6df1\u5927\u4f6c : vway <\/span>  <\/div>\n<div> <i title=\"\u5f15\u7528\"><\/i>  <span>          <\/span> <\/div>\n<\/p><\/div>\n<div>                                                             @dbskcnc \u611f\u8c22\u652f\u6301, \u6b22\u8fce\u8d21\u732e\u4ee3\u7801, \u4e00\u8d77\u5b8c\u5584                                                            <\/div>\n<\/p><\/div>\n<\/li>\n<li data-pid=\"1778868\" data-uid=\"2\">\n<div>\n<div>\n<div> <span>\u4e3b<\/span> <span>\u8cc7\u6df1\u5927\u4f6c : vway <\/span>  <\/div>\n<div> <i title=\"\u5f15\u7528\"><\/i>  <span>          <\/span> <\/div>\n<\/p><\/div>\n<div>                                                             @vencent \u53ef\u4ee5\u63a7\u5236\u7a97\u53e3\u548c\u6807\u9898\u7b49, \u8fd8\u4e0d\u80fd\u53bb\u53d6\u6bcf\u4e2a UI \u5143\u7d20\u6587\u672c; \u8fd9\u4e2a\u529f\u80fd\u5728\u8ba1\u5212\u4e4b\u4e2d, \u6b22\u8fce\u8d21\u732e\u4ee3\u7801                                                            <\/div>\n<\/p><\/div>\n<\/li>\n<li>\n","protected":false},"excerpt":{"rendered":"<p>Robotgo v0.90.0 \u53d1&hellip;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[],"tags":[],"_links":{"self":[{"href":"http:\/\/4563.org\/index.php?rest_route=\/wp\/v2\/posts\/106991"}],"collection":[{"href":"http:\/\/4563.org\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/4563.org\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/4563.org\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/4563.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=106991"}],"version-history":[{"count":1,"href":"http:\/\/4563.org\/index.php?rest_route=\/wp\/v2\/posts\/106991\/revisions"}],"predecessor-version":[{"id":106993,"href":"http:\/\/4563.org\/index.php?rest_route=\/wp\/v2\/posts\/106991\/revisions\/106993"}],"wp:attachment":[{"href":"http:\/\/4563.org\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=106991"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/4563.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=106991"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/4563.org\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=106991"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}