{"id":890,"date":"2022-12-08T07:36:23","date_gmt":"2022-12-08T06:36:23","guid":{"rendered":"http:\/\/lesmrdtrucs.mataf35400.fr\/?page_id=890"},"modified":"2022-12-08T08:03:35","modified_gmt":"2022-12-08T07:03:35","slug":"mettre-un-programme-dans-le-systray","status":"publish","type":"page","link":"https:\/\/lesmrdtrucs.mataf35400.fr\/index.php\/mettre-un-programme-dans-le-systray\/","title":{"rendered":"Mettre un programme dans le SysTray\u200b"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"890\" class=\"elementor elementor-890\">\n\t\t\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-14172395 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"14172395\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-39cc6645\" data-id=\"39cc6645\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-61954468 elementor-widget elementor-widget-text-editor\" data-id=\"61954468\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<p>Ces proc\u00e9dures servent \u00e0 ne pas afficher le bouton dans la barre de t\u00e2ches (*), et quand m\u00eame afficher le prog dans le Systray.<br \/><br \/>Il faut cr\u00e9er un contr\u00f4le pour recevoir l&rsquo;\u00e9v\u00e8nement qui g\u00e8rera l&rsquo;ic\u00f4ne. Ce contr\u00f4le doit \u00eatre invisible car l&rsquo;\u00e9v\u00e8nement est le mousemove, et il ne faut pas que le passage de la souris perturbe la fonction.<br \/><br \/>J&rsquo;ai choisi un pictureBox nomm\u00e9 \u00ab\u00a0PicSystray\u00a0\u00bb plac\u00e9 dans la FraBid invisible.<\/p>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-364e3019 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"364e3019\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-326db6b0\" data-id=\"326db6b0\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-a5c0c78 elementor-widget elementor-widget-text-editor\" data-id=\"a5c0c78\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<p>A mettre dans le G\u00e9n\u00e9ral du module:<br \/><span style=\"color: #339966;\"><em>&lsquo;Mise en systray<\/em><\/span><br \/><span style=\"color: #0000ff;\"><em>Type IconeTray<\/em><\/span><br \/><span style=\"color: #0000ff;\"><em>\u00a0\u00a0 \u00a0cbSize As Long \u00a0\u00a0\u00a0 \u00a0<span style=\"color: #339966;\">&lsquo;Taille de l&rsquo;ic\u00f4ne (en octets)<\/span><\/em><\/span><br \/><span style=\"color: #0000ff;\"><em>\u00a0\u00a0\u00a0 hwnd As Long\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0<span style=\"color: #339966;\">&lsquo;Handle du contr\u00f4le charg\u00e9 de recevoir les messages envoy\u00e9s lors des \u00e9v\u00e8nements sur l&rsquo;ic\u00f4ne (clics, doubles-clics&#8230;)<\/span><\/em><\/span><br \/><span style=\"color: #0000ff;\"><em>\u00a0\u00a0 \u00a0uID As Long\u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0<span style=\"color: #339966;\">&lsquo;Identificateur de l&rsquo;ic\u00f4ne<\/span><\/em><\/span><br \/><span style=\"color: #0000ff;\"><em>\u00a0\u00a0 \u00a0uFlags As Long<\/em><\/span><br \/><span style=\"color: #0000ff;\"><em>\u00a0\u00a0 \u00a0uCallbackMessage As Long\u00a0\u00a0 \u00a0<span style=\"color: #339966;\">&lsquo;Messages \u00e0 renvoyer<\/span><\/em><\/span><br \/><span style=\"color: #0000ff;\"><em>\u00a0\u00a0 \u00a0hIcon As Long\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0<span style=\"color: #339966;\">&lsquo;Handle de l&rsquo;ic\u00f4ne<\/span><\/em><\/span><br \/><span style=\"color: #0000ff;\"><em>\u00a0\u00a0 \u00a0szTip As String * 64\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0<span style=\"color: #339966;\">&lsquo;Texte \u00e0 mettre dans la bulle d&rsquo;aide<\/span><\/em><\/span><br \/><span style=\"color: #0000ff;\"><em>End Type<\/em><\/span><br \/><span style=\"color: #0000ff;\"><em>Global IconeT As IconeTray<\/em><\/span><\/p><p><span style=\"color: #0000ff;\"><em>Declare Function Shell_NotifyIcon Lib \u00ab\u00a0shell32\u00a0\u00bb Alias \u00ab\u00a0Shell_NotifyIconA\u00a0\u00bb (ByVal dwMessage As Long, pnid As IconeTray) As Boolean<\/em><\/span><\/p><p><span style=\"color: #339966;\"><em>&lsquo;Constantes n\u00e9cessaires<\/em><\/span><br \/><span style=\"color: #0000ff;\"><em>Public Const AJOUT = &amp;H0<\/em><\/span><br \/><span style=\"color: #0000ff;\"><em>Public Const MODIF = &amp;H1<\/em><\/span><br \/><span style=\"color: #0000ff;\"><em>Public Const SUPPRIME = &amp;H2<\/em><\/span><br \/><span style=\"color: #0000ff;\"><em>Public Const MOUSEMOVE = &amp;H200<\/em><\/span><br \/><span style=\"color: #0000ff;\"><em>Public Const MESSAGE = &amp;H1<\/em><\/span><br \/><span style=\"color: #0000ff;\"><em>Public Const Icone = &amp;H2<\/em><\/span><br \/><span style=\"color: #0000ff;\"><em>Public Const TIP = &amp;H4<\/em><\/span><br \/><span style=\"color: #0000ff;\"><em>Public Const DOUBLE_CLICK_GAUCHE = &amp;H203<\/em><\/span><br \/><span style=\"color: #0000ff;\"><em>Public Const BOUTON_GAUCHE_POUSSE = &amp;H201<\/em><\/span><br \/><span style=\"color: #0000ff;\"><em>Public Const BOUTON_GAUCHE_LEVE = &amp;H202<\/em><\/span><br \/><span style=\"color: #0000ff;\"><em>Public Const DOUBLE_CLICK_DROIT = &amp;H206<\/em><\/span><br \/><span style=\"color: #0000ff;\"><em>Public Const BOUTON_DROIT_POUSSE = &amp;H204<\/em><\/span><br \/><span style=\"color: #0000ff;\"><em>Public Const BOUTON_DROIT_LEVE = &amp;H205<\/em><\/span><\/p><p>A mettre dans le Load de la Form:<br \/><span style=\"color: #339966;\"><em>\u00a0\u00a0\u00a0 &lsquo;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;Ic\u00f4ne dans le Systray<\/em><\/span><br \/><span style=\"color: #0000ff;\"><em>\u00a0\u00a0 \u00a0IconeT.cbSize = Len(IconeT) <span style=\"color: #339966;\">&lsquo;Taille de l&rsquo;ic\u00f4ne en octet<\/span><\/em><\/span><br \/><span style=\"color: #0000ff;\"><em>\u00a0\u00a0\u00a0 IconeT.hwnd = PicSystray.hwnd\u00a0 \u00a0\u00a0\u00a0\u00a0 <span style=\"color: #339966;\">&lsquo;Handle de l&rsquo;application (pour qu&rsquo;elle re\u00e7oive les messages envoy\u00e9s lors d&rsquo;un clic, double-clic&#8230;<\/span><\/em><\/span><br \/><span style=\"color: #0000ff;\"><em>\u00a0\u00a0 \u00a0IconeT.uID = 1&amp;\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 <span style=\"color: #339966;\">&lsquo;Identificateur de l&rsquo;ic\u00f4ne<\/span><\/em><\/span><br \/><span style=\"color: #0000ff;\"><em>\u00a0\u00a0 \u00a0IconeT.uFlags = Icone Or TIP Or MESSAGE<\/em><\/span><br \/><span style=\"color: #0000ff;\"><em>\u00a0\u00a0 \u00a0IconeT.uCallbackMessage = MOUSEMOVE \u00a0\u00a0\u00a0 <span style=\"color: #339966;\">&lsquo;Renvoyer les messages concernant l&rsquo;action de la souris<\/span><\/em><\/span><br \/><span style=\"color: #0000ff;\"><em>\u00a0\u00a0 \u00a0IconeT.hIcon = Me.Icon\u00a0\u00a0<span style=\"color: #339966;\"> &lsquo;Mettre en ic\u00f4ne l&rsquo;image celle de la form<\/span><\/em><\/span><br \/><span style=\"color: #0000ff;\"><em>\u00a0\u00a0 \u00a0IconeT.szTip = me.caption &amp; Chr$(0)\u00a0\u00a0\u00a0 <span style=\"color: #339966;\">&lsquo;Texte de la bulle d&rsquo;aide<\/span><\/em><\/span><br \/><span style=\"color: #0000ff;\"><em>\u00a0\u00a0 <span style=\"color: #339966;\">\u00a0&lsquo;Appel de la fonction pour mettre l&rsquo;ic\u00f4ne dans le syst\u00e8me tray<\/span><\/em><\/span><br \/><span style=\"color: #0000ff;\"><em>\u00a0\u00a0 \u00a0Shell_NotifyIcon AJOUT, IconeT<\/em><\/span><br \/><span style=\"color: #0000ff;\"><em>\u00a0\u00a0 \u00a0&lsquo;Me.Hide\u00a0\u00a0 <span style=\"color: #339966;\">&lsquo;Cache la fen\u00eatre<\/span><\/em><\/span><br \/><span style=\"color: #0000ff;\"><em>\u00a0\u00a0 \u00a0App.TaskVisible = False \u00a0\u00a0\u00a0 <span style=\"color: #339966;\">&lsquo;Retire le bouton de l&rsquo;application de la barre des t\u00e2ches (*)<\/span><\/em><\/span><\/p><p>A mettre dans le resize de la form:<br \/><span style=\"color: #339966;\"><em>\u00a0\u00a0 \u00a0&lsquo;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-Permet de transformer le minimize en hide.<\/em><\/span><br \/><span style=\"color: #0000ff;\"><em>\u00a0\u00a0\u00a0 If Me.WindowState = 1 Then<\/em><\/span><br \/><span style=\"color: #0000ff;\"><em>\u00a0\u00a0 \u00a0\u00a0\u00a0\u00a0 Me.Hide<\/em><\/span><br \/><span style=\"color: #0000ff;\"><em>\u00a0\u00a0 \u00a0\u00a0\u00a0\u00a0 DoEvents<\/em><\/span><br \/><span style=\"color: #0000ff;\"><em>\u00a0\u00a0 \u00a0\u00a0\u00a0\u00a0 Me.WindowState = 0<\/em><\/span><br \/><span style=\"color: #0000ff;\"><em>\u00a0\u00a0 \u00a0End If<\/em><\/span><\/p><p>A mettre dans le MouseMouve de PicSystray:<br \/><span style=\"color: #0000ff;\"><em>\u00a0\u00a0 &lsquo;souris sur l&rsquo;ic\u00f4ne plac\u00e9e dans le syst\u00e8me tray<br \/>\u00a0\u00a0 \u00a0Static rec As Boolean, msg As Long<br \/>\u00a0\u00a0 \u00a0msg = X \/ Screen.TwipsPerPixelX<br \/>\u00a0\u00a0 \u00a0If Not rec Then<br \/>\u00a0\u00a0 \u00a0\u00a0\u00a0\u00a0 rec = True<br \/>\u00a0\u00a0 \u00a0\u00a0\u00a0\u00a0 Select Case msg<br \/>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0\u00a0 Case DOUBLE_CLICK_GAUCHE:<br \/>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0\u00a0 Case BOUTON_GAUCHE_POUSSE:<br \/>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0\u00a0 If Me.Visible Then<br \/>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0\u00a0 Me.Hide<br \/>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0\u00a0 Else<br \/>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0\u00a0 Me.Show<br \/>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0\u00a0 End If<br \/>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0\u00a0 Case BOUTON_GAUCHE_LEVE:<br \/>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0\u00a0 Case DOUBLE_CLICK_DROIT:<br \/>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0\u00a0 Case BOUTON_DROIT_POUSSE:<br \/>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0\u00a0 Case BOUTON_DROIT_LEVE:<br \/>\u00a0\u00a0 \u00a0\u00a0\u00a0\u00a0 End Select<br \/>\u00a0\u00a0 \u00a0\u00a0\u00a0\u00a0 rec = False<br \/>\u00a0\u00a0 \u00a0End If<\/em><\/span><\/p><p><em>\u00a0<\/em>A chaque fois que l&rsquo;on veut modifier, Ex: le ToolTipText et l&rsquo;ic\u00f4ne:<br \/><span style=\"color: #0000ff;\"><em>\u00a0\u00a0\u00a0 IconeT.szTip = \u00ab\u00a0Mon ToolTipText \u00e0 moi&#8230; \u00a0\u00bb\u00a0 &amp; Chr$(0)\u00a0\u00a0\u00a0 &lsquo;Texte de la bulle d&rsquo;aide<br \/>\u00a0\u00a0 \u00a0IconeT.hIcon = Me.Icon\u00a0\u00a0 &lsquo;Mettre en ic\u00f4ne celle de la form<br \/>\u00a0\u00a0 \u00a0Shell_NotifyIcon MODIF, IconeT<br \/><\/em><\/span>Cela peut servir \u00e0 avoir une ic\u00f4ne anim\u00e9e (par Ex: gyrophare) si l&rsquo;on met ces lignes dans une tempo.<\/p><p>A mettre dans l&rsquo;Unload de la form (pour que le SysTray soit rafra\u00eechi sans avoir \u00e0 passer la souris dessus):<em><br \/><span style=\"color: #0000ff;\">\u00a0\u00a0\u00a0 Shell_NotifyIcon SUPPRIME, IconeT<\/span><\/em><\/p>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Ces proc\u00e9dures servent \u00e0 ne pas afficher le bouton dans la barre de t\u00e2ches (*), et quand m\u00eame afficher le prog dans le Systray. Il faut cr\u00e9er un contr\u00f4le pour recevoir l&rsquo;\u00e9v\u00e8nement qui g\u00e8rera l&rsquo;ic\u00f4ne. Ce contr\u00f4le doit \u00eatre invisible car l&rsquo;\u00e9v\u00e8nement est le mousemove, et il ne faut pas que le passage de la [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"ocean_post_layout":"","ocean_both_sidebars_style":"","ocean_both_sidebars_content_width":0,"ocean_both_sidebars_sidebars_width":0,"ocean_sidebar":"0","ocean_second_sidebar":"0","ocean_disable_margins":"enable","ocean_add_body_class":"","ocean_shortcode_before_top_bar":"","ocean_shortcode_after_top_bar":"","ocean_shortcode_before_header":"","ocean_shortcode_after_header":"","ocean_has_shortcode":"","ocean_shortcode_after_title":"","ocean_shortcode_before_footer_widgets":"","ocean_shortcode_after_footer_widgets":"","ocean_shortcode_before_footer_bottom":"","ocean_shortcode_after_footer_bottom":"","ocean_display_top_bar":"default","ocean_display_header":"default","ocean_header_style":"","ocean_center_header_left_menu":"0","ocean_custom_header_template":"0","ocean_custom_logo":0,"ocean_custom_retina_logo":0,"ocean_custom_logo_max_width":0,"ocean_custom_logo_tablet_max_width":0,"ocean_custom_logo_mobile_max_width":0,"ocean_custom_logo_max_height":0,"ocean_custom_logo_tablet_max_height":0,"ocean_custom_logo_mobile_max_height":0,"ocean_header_custom_menu":"0","ocean_menu_typo_font_family":"0","ocean_menu_typo_font_subset":"","ocean_menu_typo_font_size":0,"ocean_menu_typo_font_size_tablet":0,"ocean_menu_typo_font_size_mobile":0,"ocean_menu_typo_font_size_unit":"px","ocean_menu_typo_font_weight":"","ocean_menu_typo_font_weight_tablet":"","ocean_menu_typo_font_weight_mobile":"","ocean_menu_typo_transform":"","ocean_menu_typo_transform_tablet":"","ocean_menu_typo_transform_mobile":"","ocean_menu_typo_line_height":0,"ocean_menu_typo_line_height_tablet":0,"ocean_menu_typo_line_height_mobile":0,"ocean_menu_typo_line_height_unit":"","ocean_menu_typo_spacing":0,"ocean_menu_typo_spacing_tablet":0,"ocean_menu_typo_spacing_mobile":0,"ocean_menu_typo_spacing_unit":"","ocean_menu_link_color":"","ocean_menu_link_color_hover":"","ocean_menu_link_color_active":"","ocean_menu_link_background":"","ocean_menu_link_hover_background":"","ocean_menu_link_active_background":"","ocean_menu_social_links_bg":"","ocean_menu_social_hover_links_bg":"","ocean_menu_social_links_color":"","ocean_menu_social_hover_links_color":"","ocean_disable_title":"default","ocean_disable_heading":"default","ocean_post_title":"","ocean_post_subheading":"","ocean_post_title_style":"","ocean_post_title_background_color":"","ocean_post_title_background":0,"ocean_post_title_bg_image_position":"","ocean_post_title_bg_image_attachment":"","ocean_post_title_bg_image_repeat":"","ocean_post_title_bg_image_size":"","ocean_post_title_height":0,"ocean_post_title_bg_overlay":0.5,"ocean_post_title_bg_overlay_color":"","ocean_disable_breadcrumbs":"default","ocean_breadcrumbs_color":"","ocean_breadcrumbs_separator_color":"","ocean_breadcrumbs_links_color":"","ocean_breadcrumbs_links_hover_color":"","ocean_display_footer_widgets":"default","ocean_display_footer_bottom":"default","ocean_custom_footer_template":"0","footnotes":""},"class_list":["post-890","page","type-page","status-publish","hentry","entry"],"_links":{"self":[{"href":"https:\/\/lesmrdtrucs.mataf35400.fr\/index.php\/wp-json\/wp\/v2\/pages\/890","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/lesmrdtrucs.mataf35400.fr\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/lesmrdtrucs.mataf35400.fr\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/lesmrdtrucs.mataf35400.fr\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/lesmrdtrucs.mataf35400.fr\/index.php\/wp-json\/wp\/v2\/comments?post=890"}],"version-history":[{"count":10,"href":"https:\/\/lesmrdtrucs.mataf35400.fr\/index.php\/wp-json\/wp\/v2\/pages\/890\/revisions"}],"predecessor-version":[{"id":904,"href":"https:\/\/lesmrdtrucs.mataf35400.fr\/index.php\/wp-json\/wp\/v2\/pages\/890\/revisions\/904"}],"wp:attachment":[{"href":"https:\/\/lesmrdtrucs.mataf35400.fr\/index.php\/wp-json\/wp\/v2\/media?parent=890"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}