mcrblog

vcpp-ml

2002年02月

28

[vcpp 00057810] Re: Desktopのショートカット情報取得方法

 こんにちは、炎羅です。

On Thu, 28 Feb 2002 22:09:49 +0900
下平 昌和 <s...@globals.co.jp> wrote:

>  今、Desktop上のショートカットの情報を取得する
>  処理を作っています。
>  ListView_Get~系のマクロを使って情報を取得しよう
>  としているのですが、どうしてもうまくいきません。

 な、、何故にそんなアプローチを…。
 デスクトップのパスはGetSpecialFolder()で。
 普通にFindFirstFile()/FindNextFile()とか使いましょう。
 あとはシェル系の関数でショートカットの情報を得ましょう。

■ Written by 炎羅 (e...@mail.interq.or.jp) ■
28

[vcpp 00057809] Desktopのショートカット情報取得方法

 Kazuと言います。
 久しぶりにMLに投稿します。

 早速質問させてください。

 今、Desktop上のショートカットの情報を取得する
 処理を作っています。
 ListView_Get~系のマクロを使って情報を取得しよう
 としているのですが、どうしてもうまくいきません。

 ListView_Get~系のマクロを使うと異常な処理とみなされて
 OSが強制終了してしまいます。

 ※ただし、ListView_SetItemPositionマクロは正常に動作しました。

CHAR TextBuf[128];
HWND hTaskbar, hChild, hDeskListView;

InitCommonControls(); //コモンコントロールの初期化
hTaskbar = FindWindow("Progman", NULL);
hChild = GetWindow(hTaskbar, GW_CHILD);
hDeskListView = GetWindow(hChild, GW_CHILD);
//index 0のショートカットのText取得
ListView_GetItemText(hDeskListView, 0, 0, TextBuf,sizeof(TextBuf));
  ↑
  ここで強制終了発生

 どのようにすれば、Desktopのショートカットの情報を取得できるのでしょうか?

 よろしくお願いします。

 環境:
  OS:Windows98 Second Edition
  コンパイラ:VC++6.0
28

[vcpp 00057809] Desktopのショートカット情報取得方法

 Kazuと言います。
 久しぶりにMLに投稿します。

 早速質問させてください。

 今、Desktop上のショートカットの情報を取得する
 処理を作っています。
 ListView_Get~系のマクロを使って情報を取得しよう
 としているのですが、どうしてもうまくいきません。

 ListView_Get~系のマクロを使うと異常な処理とみなされて
 OSが強制終了してしまいます。

 ※ただし、ListView_SetItemPositionマクロは正常に動作しました。

CHAR TextBuf[128];
HWND hTaskbar, hChild, hDeskListView;

InitCommonControls(); //コモンコントロールの初期化
hTaskbar = FindWindow("Progman", NULL);
hChild = GetWindow(hTaskbar, GW_CHILD);
hDeskListView = GetWindow(hChild, GW_CHILD);
//index 0のショートカットのText取得
ListView_GetItemText(hDeskListView, 0, 0, TextBuf,sizeof(TextBuf));
  ↑
  ここで強制終了発生

 どのようにすれば、Desktopのショートカットの情報を取得できるのでしょうか?

 よろしくお願いします。

 環境:
  OS:Windows98 Second Edition
  コンパイラ:VC++6.0
28

[vcpp 00057808] RE: サービスの終了処理

 渋木です。

> VC6で具体的にどう書いたらいいのでしょうか?
> WM_QUERYENDSESSIONのキーワードは見つかるのですか、WM_QUERYENDSESSION
> メッセージの取得方法がわかりません。

 他のメッセージとなんら変わることはありません。
 GUI アプリケーションが必ず備えるべき、メッセージポンプを介して取得できま
す。

 「ClassWizard で表示されない」ということなら、そんなメッセージは山のように
あります。
 ClassWizard がサポートしていないメッセージは、ON_MESSAGE() マクロなどを手動
でソースコードに追加して捕捉します。


--
// 渋木宏明 (Hiroaki SHIBUKI)
// mailto:h...@widget.co.jp
//
28

[vcpp 00057808] RE: サービスの終了処理

 渋木です。

> VC6で具体的にどう書いたらいいのでしょうか?
> WM_QUERYENDSESSIONのキーワードは見つかるのですか、WM_QUERYENDSESSION
> メッセージの取得方法がわかりません。

 他のメッセージとなんら変わることはありません。
 GUI アプリケーションが必ず備えるべき、メッセージポンプを介して取得できま
す。

 「ClassWizard で表示されない」ということなら、そんなメッセージは山のように
あります。
 ClassWizard がサポートしていないメッセージは、ON_MESSAGE() マクロなどを手動
でソースコードに追加して捕捉します。


--
// 渋木宏明 (Hiroaki SHIBUKI)
// mailto:h...@widget.co.jp
//
記事検索
Amazon.co.jp
  • ライブドアブログ