HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2012
0822
とほほWindows7のタスクトレイのスタートボタンを非表示にする方法は?4解決


とほほ

リンク

2012/8/22(Wed) 23:39:55|NO.48755

今までXpの環境でHSPで作ったツールを使用していました。
デスクトップ上のタスクトレイを非表示にする必要があったので、
下のモジュールを使用させていただいていました。でも、Windows7では
スタートアップボタンだけが残ってしまうんですね。
スタートアップボタンのハンドルを捕まえて、ShowWindow()関数でコントロール
出来る事までは解るのですが、具体的なスクリプトが悲しいかな書けません。
ご教授いただければ助かります。

#module
;***** 必要となるAPIや定数の定義 *****
#uselib "user32.dll"
#cfunc FindWindow "FindWindowA" var,int
#func ShowWindow "ShowWindow" int,int

#define SW_HIDE 0
#define SW_SHOW 5

;***** タスクバーの表示・非表示 *****
#deffunc taskbardisp int prm1

; prm1 : nMode (int) : 0〜1(0) 制御モード

; nMode
; ----------------------------------------
; 0 : タスクバーの表示
; 1 : タスクバーの非表示

nMode = prm1 : if (nMode<=0)|(nMode>1) : nMode=0

;***** タスクバーのハンドルを取得 *****
s = "Shell_TrayWnd" : hwndTaskBar=FindWindow(s,0)
if hwndTaskBar==0 : return -1
if nMode==0 { ShowWindow hwndTaskBar, SW_SHOW } ;表示
if nMode==1 { ShowWindow hwndTaskBar, SW_HIDE } ;非表示
return 0
    #global



この記事に返信する


とほほ

リンク

2012/8/22(Wed) 23:41:57|NO.48756

質問者です タスクトレイではなくタスクバーの間違いです。失礼いたしました。



L-35K

リンク

2012/8/22(Wed) 23:44:12|NO.48757

こちらが参考になるかと思います。
Vista以降は設計が変わっているようですね。
http://social.msdn.microsoft.com/Forums/ja/vbgeneralja/thread/c00c30af-b266-425e-a193-8eb1a88ad647



L-35K

リンク

2012/8/22(Wed) 23:48:23|NO.48758

パラメータが微妙だったので上のURLとソースを元に改造してみました

#module ;***** 必要となるAPIや定数の定義 ***** #uselib "user32.dll" #cfunc FindWindow "FindWindowA" sptr,sptr #func ShowWindow "ShowWindow" int,int #define SW_HIDE 0 #define SW_SHOW 5 ;***** タスクバーの表示・非表示 ***** #deffunc taskbardisp int prm1 ; prm1 : nMode (int) : 0〜1(0) 制御モード ; nMode ; ---------------------------------------- ; 0 : タスクバーの表示 ; 1 : タスクバーの非表示 nMode = prm1 : if (nMode<=0)|(nMode>1) : nMode=0 ;***** タスクバーのハンドルを取得 ***** s = "Shell_TrayWnd" : hwndTaskBar=FindWindow(s,0) s2 = "Button" : hwndStartButton=FindWindow(s2,"スタート") if hwndTaskBar==0 : return -1 if nMode==0 { ShowWindow hwndTaskBar, SW_SHOW : ShowWIndow hwndStartButton, SW_SHOW } ;表示 if nMode==1 { ShowWindow hwndTaskBar, SW_HIDE : ShowWIndow hwndStartButton, SW_HIDE } ;非表示 return 0 #global taskbardisp 1



とほほ

リンク

2012/8/23(Thu) 00:22:40|NO.48759

Vist以降仕様が変わったのですね、私が集めた情報はあっていたようなので良かったです。
ただ、スタートボタンのハンドルを取得する関数やパラメータがわからず困っておりました。
無事XP版ツールがVista以降でも使用できるようになりました。L-35K様に感謝致します。



ONION software Copyright 1997-2023(c) All rights reserved.