{"id":23,"date":"2007-01-31T21:11:55","date_gmt":"2007-01-31T20:11:55","guid":{"rendered":"http:\/\/blog.m-ri.de\/index.php\/2007\/01\/31\/button-accelerator-showwindowsw_hide-enablewindowfalse-falle\/"},"modified":"2007-01-31T21:11:55","modified_gmt":"2007-01-31T20:11:55","slug":"button-accelerator-showwindowsw_hide-enablewindowfalse-falle","status":"publish","type":"post","link":"http:\/\/blog.m-ri.de\/index.php\/2007\/01\/31\/button-accelerator-showwindowsw_hide-enablewindowfalse-falle\/","title":{"rendered":"Button + Accelerator + ShowWindow(SW_HIDE) &#8211; EnableWindow(FALSE) = Falle"},"content":{"rendered":"<p>Da hat man einen Multifunktionalen Dialog. Einer der Schalter in dem Dialog hei\u00dft <em><strong>D<\/strong>elete.<\/em> Und das D ist als Accelerator mit einem &#038; versehen. Gem\u00e4\u00df einer internen Rechteverwaltung haben manche Nutzer nicht das Recht diesen Button zu benutzen. Der Programmierer (nicht ich ;-)) hat in diesem Fall einfach den Schalter mit <em>ShowWindow(SW_HIDE) <\/em>verborgen. Ein weiterer Test ob die Rechte wirklich gegeben sind entfiel im <em>OnBtDelete <\/em>Handler.<\/p>\n<p>Nun stellte sich aber heraus, dass es manche Nutzer geschafft haben, dennoch Eintr\u00e4ge zu l\u00f6schen.<\/p>\n<p>Nun der Grund ist einfach. Solange der Button nicht mit <em>EnableWindow(FALSE)<\/em> auch disabled wird, kann man mit ALT+D, also Dr\u00fccken der ALT-Taste und des Accelerators diesen Schalter ausl\u00f6sen.<\/p>\n<p>Jo. So einfach hat man ein Userinterface gebastelt, mit dem man sich hereinlegen kann.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Da hat man einen Multifunktionalen Dialog. Einer der Schalter in dem Dialog hei\u00dft Delete. Und das D ist als Accelerator mit einem &#038; versehen. Gem\u00e4\u00df einer internen Rechteverwaltung haben manche Nutzer nicht das Recht diesen Button zu benutzen. Der Programmierer (nicht ich ;-)) hat in diesem Fall einfach den Schalter mit ShowWindow(SW_HIDE) verborgen. Ein weiterer &hellip; <a href=\"http:\/\/blog.m-ri.de\/index.php\/2007\/01\/31\/button-accelerator-showwindowsw_hide-enablewindowfalse-falle\/\" class=\"more-link\"><span class=\"screen-reader-text\">\u201eButton + Accelerator + ShowWindow(SW_HIDE) &#8211; EnableWindow(FALSE) = Falle\u201c <\/span>weiterlesen<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[4,3,2],"tags":[370,61],"class_list":["post-23","post","type-post","status-publish","format-standard","hentry","category-mfc","category-programmieren","category-windows-api","tag-c","tag-winapi"],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"http:\/\/blog.m-ri.de\/index.php\/wp-json\/wp\/v2\/posts\/23","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/blog.m-ri.de\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/blog.m-ri.de\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/blog.m-ri.de\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/blog.m-ri.de\/index.php\/wp-json\/wp\/v2\/comments?post=23"}],"version-history":[{"count":0,"href":"http:\/\/blog.m-ri.de\/index.php\/wp-json\/wp\/v2\/posts\/23\/revisions"}],"wp:attachment":[{"href":"http:\/\/blog.m-ri.de\/index.php\/wp-json\/wp\/v2\/media?parent=23"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/blog.m-ri.de\/index.php\/wp-json\/wp\/v2\/categories?post=23"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/blog.m-ri.de\/index.php\/wp-json\/wp\/v2\/tags?post=23"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}