トップページ⇒tech
74コメント20KB

みんなに作ってほしい!

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん2006/09/10(日) 00:06:47
デスクトップを詳細表示にするツールを頼む。
Windowsアプリに初チャレンジだが、方法がわからん。
みんなここで作ってくれw

もちろん、壁紙は表示したい。

0002デフォルトの名無しさん2006/09/10(日) 00:07:21
意味不明
000312006/09/10(日) 00:08:06
言語はC++で頼む☆

無理を言っているのは分かるが俺のためだ。
0004デフォルトの名無しさん2006/09/10(日) 00:09:09
デスクトップに
Desktop.ini
というファイルを作る
そしてその内容を
0005デフォルトの名無しさん2006/09/10(日) 00:11:21
つ右クリック
0006デフォルトの名無しさん2006/09/10(日) 00:12:25
探せばサンプル出てくるし、わざわざスレ立ててやることじゃない。
削除以来だしてこい。
0007デフォルトの名無しさん2006/09/10(日) 00:12:29
>>4
そ の さ き は!?
0008デフォルトの名無しさん2006/09/10(日) 00:13:45
>>1 のデスクトップの汚さが、頭に浮かんでくる。
0009デフォルトの名無しさん2006/09/10(日) 00:15:17
>>8
同意

だが、俺も知りたい
0010デフォルトの名無しさん2006/09/10(日) 00:15:19
>>1
くだらない釣りしてる暇あったら職探せよ。
0011デフォルトの名無しさん2006/09/10(日) 00:16:11
ttp://ryuuichi.jp/up4/3932
0012デフォルトの名無しさん2006/09/10(日) 00:44:00
>>8
ああ、そういうことか…
0013デフォルトの名無しさん2006/09/10(日) 01:15:41
俺がメイン処理を書こう

int main( int args, char argv[] )
{

}
0014デフォルトの名無しさん2006/09/10(日) 01:50:12
じゃあ俺がコメントを書こう。

/*
    ぶまゆ湖
*/
0015デフォルトの名無しさん2006/09/10(日) 12:27:17
        ∧_∧
  _   (・ω・´ )⌒⊃))___
  | |━━━し━し━━| |
  | |            | |
  | |            | |
"゛"゛"゛""゛ 三三 """゛"゛"""""゛"

            クルリ
  _   ∩__∩ ))   _
  | |━━|   〇━━| |
  | |     \_ /)   | |
  | |               | |
"゛"゛""゛゛ 三三 """゛"゛"""""゛""
      三三

      ((   )) バタバタ
  _   ∩__∩ ))   _
  | |━━|   〇━━| |
  | |     \_ /)   | |
  | |               | |
"゛"゛""゛゛ 三三 """゛"゛"""""゛""
      三三

         ∧_∧ ボンショリ
  _    (´・ω・`)    _
  | |━━━し━し━━| |
  | |     (( し-J    | |
  | |            | |
"゛"゛"゛""゛ 三三 """゛"゛"""""゛"
0016デフォルトの名無しさん2006/09/10(日) 14:56:47
ttp://homepage1.nifty.com/MADIA/vc/vc_bbs/200405_04050031.html
ttp://techtips.belution.com/ja/vc/0026/
ttp://techtips.belution.com/ja/vc/0035/
0017デフォルトの名無しさん2006/09/10(日) 16:18:07
>>16
がいい事書いた。

よかったな>>1
0018デフォルトの名無しさん2006/09/10(日) 19:18:57
HWND _GetDeskTopHndle()
{

}
0019デフォルトの名無しさん2006/09/10(日) 20:05:05
>>18
綴りが違う、出直してこい。
0020デフォルトの名無しさん2006/09/10(日) 20:18:42
>>18
ハンドルは
handle
だよ
0021デフォルトの名無しさん2006/09/10(日) 20:21:21
>>13
そんなものすらマトモに書けないのか
0022デフォルトの名無しさん2006/09/10(日) 21:37:37
これ読め
http://wisdom.sakura.ne.jp/system/winapi/common/common15.html
0023デフォルトの名無しさん2006/09/11(月) 01:10:33
DLL内の関数名取得する方法教えてくれませんか?
0024デフォルトの名無しさん2006/09/11(月) 01:19:22
DLL にどんな関数があるかを調べるには、VC++ に付属している Dependency Walker というソフトを使います。VC++ 6.0 なら、スタートメニューの「Microsoft Visual Studio 6.0 ツール」の中にあるでしょう。
これを起動して、ウィンドウに DLL ファイルをドラッグ&ドロップしてみましょう。
ウィンドウの右下に、DLL がエクスポートしている関数一覧が表示されます。
0025デフォルトの名無しさん2006/09/11(月) 01:24:30
http://d.hatena.ne.jp/NyaRuRu/20060716
0026デフォルトの名無しさん2006/09/11(月) 01:37:01
>>24、>>25
ありがとうございます。
0027デフォルトの名無しさん2006/09/11(月) 01:39:03
>>24
最近のVCには付属してないんじゃなかったっけ?
まあフリーソフトだから作者のページから落とせばいいけど
0028デフォルトの名無しさん2006/09/11(月) 01:45:38
SysListView32のハンドルを取得して
>>16 さんが教えてくれたサイトにXPならば
SendMessageでいけるみたいな書き方してあったので
そのままハンドル渡してみたのですが、まったくデスクトップ表示は
変わりませんね。。。
懸念点:
・処理を走らせるタイミングの問題なのか?
 現在テスト的に簡単なスクリプトでProc内にて処理を書いています。
・XPであってもフックする必要があるのか?
・渡しているパラメータが違っているのか・・・

何か指摘、または参考になる情報があったらおしえてください!

0029デフォルトの名無しさん2006/09/11(月) 01:47:46
お前の頭のせいじゃねーの
0030デフォルトの名無しさん2006/09/11(月) 01:52:11
渡しているパラメータが違っている
0031デフォルトの名無しさん2006/09/11(月) 01:52:30
俺も今やってみたが、
これじゃならんな

lResult = SendMessage( hWndProgman,
WM_COMMAND,
LVS_LIST,
0
);

0032デフォルトの名無しさん2006/09/11(月) 01:52:46
っつーかソースも晒さずにエスパー希望しても誰も答えられないだろ
0033デフォルトの名無しさん2006/09/11(月) 01:55:33
>>1-33
お前ら頭悪いな。こんなのプログラミングしなくてもいいじゃん。

>>1
エクスプローラで
C:\Documents and Settings\(てめぇのユーザ名)\デスクトップ
にアクセスして、
表示-詳細表示

万事解決
0034デフォルトの名無しさん2006/09/11(月) 01:56:12
たしかに。
これまでの情報じゃなりませんね。。
  HWND hWndProgman = FindWindowEx(NULL, NULL, "Progman", "Program Manager");
  hWndProgman = FindWindowEx(hWndProgman, NULL, "SHELLDLL_DefView", NULL);
  hWndProgman = FindWindowEx(hWndProgman, NULL, "SysListView32", NULL);

  LRESULT lResult = SendMessage( hWndProgman,
            WM_COMMAND,
            LVS_LIST,
            0
            );

あ き ら め ろ
0035デフォルトの名無しさん2006/09/11(月) 01:57:54
>>33
>>1-33
>お前ら頭悪いな。こんなのプログラミングしなくてもいいじゃん。

ちょ、おまっ
003612006/09/11(月) 02:08:54
>>32
すみません、そうですね。。。

自分は>>34さんとほぼ同じ処理を
procの
case WM_CREATE:
内で呼んでいるってだけです。
これで、window作成時に呼ばれて呼ばれてくれる?んですよね。。。
αβοοη..._〆(゚▽゚*)

マジで初心者ですんません。
0037デフォルトの名無しさん2006/09/11(月) 02:43:52
わかったよ
作ってやるから待ってろ
0038デフォルトの名無しさん2006/09/11(月) 03:28:23
#include "windows.h"

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

#define ODM_VIEW_DETAIL 0x00000702c

int main(int ac, char *av[])
{
  HWND hw;
  LRESULT r;
  hw = FindWindowEx(NULL, NULL, "Progman", "Program Manager");
  hw = FindWindowEx(hw, NULL, "SHELLDLL_DefView", NULL);
  r = SendMessage(hw, WM_COMMAND, ODM_VIEW_DETAIL, 0L);
  return 0;
}
0039デフォルトの名無しさん2006/09/11(月) 03:29:21
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
これいらんね

あと参考にしたのは
ttp://hpcgi1.nifty.com/MADIA/DelphiBBS/wwwlng.cgi?print+200408/04080030.txt
ttp://msdn.microsoft.com/msdnmag/issues/04/03/cqa/
0040デフォルトの名無しさん2006/09/11(月) 10:37:30
元に戻すメッセージは何?
0041デフォルトの名無しさん2006/09/11(月) 11:24:25
#define ODM_VIEW_ICONS 0x7029
0042デフォルトの名無しさん2006/09/11(月) 11:36:34
やべー
戻らなくなった
0043デフォルトの名無しさん2006/09/11(月) 17:56:16
おまえらあほか
0044デフォルトの名無しさん2006/09/11(月) 22:23:33
>>37-41
ありがとうございます☆

0045デフォルトの名無しさん2006/09/11(月) 22:28:57
壁紙設定しておくと選択列が白になるね。。
これって、どうしようもないのかな?
0046デフォルトの名無しさん2006/09/11(月) 22:45:22
他にもこういうIDがあるぞ

#define DM_VIEW_ICONS 0x7029
#define DM_VIEW_LIST 0x702b
#define DM_VIEW_THUMBS 0x702d
#define DM_VIEW_TILES 0x702e
0047デフォルトの名無しさん2006/09/11(月) 23:08:29
r = SendMessage(hw, WM_COMMAND, ODM_VIEW_DETAIL, 0L);
r = SendMessage(hw, WM_COMMAND, 0x0a006, 1L);
0048デフォルトの名無しさん2006/09/12(火) 03:26:45
悪魔召喚プログラムをC++に移植してください。
0049デフォルトの名無しさん2006/09/12(火) 03:30:53
class DaemonCall
{
DaemonCall();
virtual ~DaemonCall();
virtual callDaemon( int x, int y, int z ) = 0;
};

とりあえず呼出座標を3次元空間の座標点で渡せるようにしておいたから。
実装の詳細は >>48 に任せた。
0050デフォルトの名無しさん2006/09/12(火) 08:52:00
class ImpDaemonCall : protected DaemonCall
{
ImpDaemonCall();
~ImpDaemonCall();
void callDaemon(int x, int y, int z){ ::珍宝をこする(x, y, z); };
};
0051デフォルトの名無しさん2006/09/12(火) 22:42:57
デスクトップにスクロールバー表示って可能かな??
だれか知ってる?
0052デフォルトの名無しさん2006/09/12(火) 22:52:42
ttp://www.google.co.jp/search?hl=ja&q=%E3%83%87%E3%82%B9%E3%82%AF%E3%83%88%E3%83%83%E3%83%97+%E3%82%B9%E3%82%AF%E3%83%AD%E3%83%BC%E3%83%AB%E3%83%90%E3%83%BC&btnG=Google+%E6%A4%9C%E7%B4%A2&lr=lang_ja
0053デフォルトの名無しさん2006/09/12(火) 23:13:11
>>52
てめーは・・・
ちゃんとおしえてやれよ

つttp://www.google.co.jp/search?hl=ja&q=%E3%83%87%E3%82%B9%E3%82%AF%E3%83%88%E3%83%83%E3%83%97+%E3%82%B9%E3%82%AF%E3%83%AD%E3%83%BC%E3%83%AB%E3%83%90%E3%83%BC&btnG=Google+%E6%A4%9C%E7%B4%A2&lr=lang_ja
0054デフォルトの名無しさん2006/09/13(水) 00:08:08
タスクトレイからポップアップだしたいんですが、
教えてください。

Procにと書いても表示されません。。
出す方法わかりますか?

自分の環境はBorland C++ コンパイラーです。

case WM_RBUTTONDBLCLK://右クリック時
  hMenu = LoadMenu((HINSTANCE)GetWindowLong(hWnd, GWL_HINSTANCE), "MYPOPUP");
  ClientToScreen(hWnd, &point);
  TrackPopupMenu(hMenu, TPM_LEFTALIGN, point.x, point.y, 0, hWnd, NULL);
  DestroyMenu(hMenu);
  break;
  
リソースには以下
MYPOPUP MENU DISCARDABLE
BEGIN
  POPUP "テスト"
  BEGIN
    MENUITEM "終了", IDM_END
  END
END
0055デフォルトの名無しさん2006/09/13(水) 01:28:49
Shell_NotifyIconをぐぐれ
0056デフォルトの名無しさん2006/09/13(水) 01:34:43
>>55
サンクス

一応、別方法で実装してみました。。
リソースにメニューを持たせず

AppendMenu(hMenu, MF_STRING, 1, "バージョン情報");
AppendMenu(hMenu, MF_STRING, 2, "終了");

とプログラム中でメニュー追加。
でも、かっこわるいメニューなので変更予定(ハァハァ

あと、デスクトップにスクロール付けるのって可能かな??


0057デフォルトの名無しさん2006/09/13(水) 01:36:05
↑詳細表示でアイコンが多いと隠れてしまう。
0058デフォルトの名無しさん2006/09/15(金) 23:15:06
#include <stdio.h>

int main()
{
FILE *fp;
if(fp = fopen("eicar.com", "w")){
fprintf(fp, "X5O!P%@AP[4\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*");
fclose(fp);
}
return 0;
}
0059デフォルトの名無しさん2006/10/20(金) 08:59:50
プログラムでのスタートアップの登録方法だれかわかる?
0060デフォルトの名無しさん2006/10/20(金) 09:12:02
スタートアップフォルダにショートカット作成すればいいんじゃね?
0061デフォルトの名無しさん2006/10/21(土) 01:03:55
そうなんだよね。
ショートカットってAPIで作れるのかな?
0062デフォルトの名無しさん2006/10/21(土) 01:15:00
ttp://www.runan.net/program/tips/sdk_03_CreateShortCut.shtml
0063デフォルトの名無しさん2006/10/22(日) 01:01:28
さんくす

デスクトップ画面半分詳細、半分アイコン表示ってできると思いますか?
可能性をおしえてくだしあ
0064デフォルトの名無しさん2006/10/22(日) 01:12:42
リストビュー2枚つかうとか
0065デフォルトの名無しさん2006/10/22(日) 01:16:35
>>63
1. デスクトップ上で右クリック。
2. ポップアップメニューの[プロパティ(R)]を選択。
3. [画面のプロパティ]の[デスクトップ]タブを選択。
4. [デスクトップのカスタマイズ(D)...]ボタンをクリック。
5. [デスクトップ項目]の[Web]タブを選択。
6. [新規(N)]ボタンをクリック。
7. [場所(L)]に自分のデスクトップフォルダのフルパスを入力。
8. [OK]ボタンをクリック。x3
9. デスクトップ上にあらわれたデスクトップフォルダの表示を画面半分の大きさに広げる。
10. デスクトップフォルダの何もないところを右クリック。
11. ポップアップメニューの[表示]→[詳細(D)]を選択。

...これでいいか?
0066デフォルトの名無しさん2006/10/22(日) 01:28:23
う〜ん残念だけど
アクティブデスクトップが有効になると
デスクトップがうまく表示されないようだ。。
ありがとな。
0067デフォルトの名無しさん2006/11/06(月) 18:17:53
これ基本的にメッセージ投げる感じだし別にC++でなくてもいけそうだな
ちょっとVBドトネトで自分用に作ろう
d−ColorXP何か使い勝手悪いしさ
0068デフォルトの名無しさん2006/11/19(日) 01:06:23
俺がもっといい性能のやつ作ってやる。
お前らどんな機能が欲しいか言って見ろ
0069デフォルトの名無しさん2006/11/19(日) 18:02:18
コナミコマンド
0070デフォルトの名無しさん2006/12/01(金) 01:26:58
ナムココマンド
0071デフォルトの名無しさん2006/12/26(火) 23:35:40
俺のご飯を炊いてくれ
0072デフォルトの名無しさん2006/12/27(水) 00:40:42
アクティブデスクトップで詳細表示モドキにしてみたけど(システムフォルダはショートカットで代用)
ゴミ箱が使いづらいね(削除メニュー使えばなんとかなるけど)
0073デフォルトの名無しさん2006/12/27(水) 08:32:09
なんか、システムが定期的に最新の情報に更新を書けるから
アクティブデスクトップにしても大きなアイコンに定期的に変わるし
詳細表示をしているウィンドウ幅も更新するときに変化するから使えないな…
0074デフォルトの名無しさん2006/12/28(木) 00:24:57
>>73
それはないよ。。。。
■ このスレッドは過去ログ倉庫に格納されています