[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 2chのread.cgiへ]
Update time : 02/06 20:25 / Filesize : 198 KB / Number-of Response : 948
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

Win32API質問箱 Build74



1 名前:デフォルトの名無しさん mailto:sage [2008/12/14(日) 16:30:27 ]
スレ立てるまでもない、Win32APIのついての質問はこちらへどうぞ。
やさしいお兄さんやお姉さんたちが答えてくれるかも。
「知らないならレスしないで下さい。ウザイだけです。 」なんて言わないでねっ!

過去スレ、関連リンクは>>2-10くらい。

■注意
・質問する前にMSDNライブラリやPlatformSDK、Google等で検索しましょう。
・日本語版MSDN Online Libraryは不完全です。英語版(msdn2.microsoft.com/library/)の利用推奨。
・APIフックなど高度な事をしたい場合はできるだけAdvenced Windowsを読みましょう。
・言語特有の問題やIDE、MFCやVCLなどの質問はそれぞれの言語や開発環境スレで

- Win32API質問箱 wiki
wiki.livedoor.jp/program1/d/FrontPage

Win32API質問箱 Build73
pc11.2ch.net/test/read.cgi/tech/1227934931/

421 名前:デフォルトの名無しさん mailto:sage [2008/12/29(月) 10:47:20 ]
>>420
申し訳ありません、アイテムがメニューをもつわけではないですね。
その選択したアイテムを操作するようなメニュー(アイテムのコンテナが
もつメニュー)のことです。

422 名前:デフォルトの名無しさん mailto:sage [2008/12/29(月) 10:56:04 ]
ポップアップメニューって自分で表示しなきゃ出ないじゃん
少なくともAPIの範囲では

自分で明示的に表示してるものなのにハンドルが分からないって事は無いだろう

423 名前:デフォルトの名無しさん mailto:sage [2008/12/29(月) 10:59:15 ]
>>421
余計な言葉をつけずに

「メニューハンドルからメニューアイテム一覧を取得したい」

と言え。詳しく言ってるつもりが余計に分かりにくくなっている。

GetMenuItemCount/GetMenuItemInfo

424 名前:デフォルトの名無しさん mailto:sage [2008/12/29(月) 11:34:41 ]
>>423
いや欲しいのはメニューハンドルだろ?
「外部アプリのメニューを取得して何かしたい」んじゃねーの?

「外部からコンテキストメニューのメニューハンドルを取得する一般的な方法はない」がアンサーじゃね?

425 名前:デフォルトの名無しさん mailto:sage [2008/12/29(月) 12:56:17 ]
デスクトップの描画について質問があります。

以下のようにデスクトップのDCを取得して、描画するプログラムは作れるんですが、
描画した内容を消す方法がわかりません。
黒や白で塗りつぶすわけにはいかないし、どうしたらいいんでしょう。
終了ボタンを押したときでしか、描画が消えません。

// デバイスコンテキスト
HDC hdc = GetDC(NULL);

// 描画
Rectangle(hdc, 100, 100, 200, 200);

// 解放
ReleaseDC(NULL, hdc);


426 名前:デフォルトの名無しさん mailto:sage [2008/12/29(月) 13:06:02 ]
元の色保存しといて塗り直せ

427 名前:デフォルトの名無しさん mailto:sage [2008/12/29(月) 13:14:43 ]
>>425
InvalidateRectで再描画してもらう

428 名前:デフォルトの名無しさん mailto:sage [2008/12/29(月) 13:17:20 ]
InvalidateRect(0,0,false)

429 名前:デフォルトの名無しさん mailto:sage [2008/12/29(月) 14:54:47 ]
PaintDesktop



430 名前:デフォルトの名無しさん mailto:sage [2008/12/30(火) 02:22:02 ]
SW_HIDEを送って非表示になったウィンドウのウィンドウハンドルはどのように取得すればよいでしょうか?
そのウィンドウを持つプロセスIDはわかるのですが…

431 名前:デフォルトの名無しさん mailto:sage [2008/12/30(火) 02:24:56 ]
ずっと覚えとく

432 名前:デフォルトの名無しさん mailto:sage [2008/12/30(火) 02:25:57 ]
EnumWindows、GetWindowThreadProcessIdを組み合す

433 名前:デフォルトの名無しさん mailto:sage [2008/12/30(火) 03:29:16 ]
SW_HIDE を送るときに使う HWND は取得できるのに?

434 名前:430 mailto:sage [2008/12/30(火) 03:54:53 ]
>>431,433
SW_HIDEは自身が送るものではない環境ですので…
ご回答ありがとうございます。

>>432
プロセスIDを取得する際にEnumWindowsを使っておりましたので
改めて考えるとすでに取得できていたのですね。助かりました。

435 名前:デフォルトの名無しさん mailto:sage [2008/12/30(火) 13:42:38 ]
今までFindFirstFileで全てのファイルを列挙するとき
"*.*"とやってたんですが、よく考えると"*.*"でディレクトリ
や拡張子のないファイルが引っかかるのはおかしい
気がするんですが、なぜでしょうか?

436 名前:デフォルトの名無しさん mailto:sage [2008/12/30(火) 14:14:03 ]
IsDBCSLeadByteExを使用して2byte文字の
先頭1byte目かという判定をしていたんですが、
0x82 0xF0(ひらがなの「を」)の2byte文字の

0xF0を指定して上記のAPIで判定をしたところ
FALSE以外。つまり2byte文字の先頭1byteという
判定が戻り値として戻ってきました。

これはIsDBCSLeadByteExのバグなのでしょうか?
または私の使い方が間違っているのでしょうか。

/* 2byte文字の1byte目かを判定 */
if(IsDBCSLeadByteEx(CP_ACP, 指定文字値) != FALSE)
{
}


437 名前:デフォルトの名無しさん mailto:sage [2008/12/30(火) 14:16:14 ]
case WM_KEYDOWN:
if(wp == VK_ESCAPE) 終了処理;

というようにエスケープキーを押したら終了するようにしたのですが、
EDITにフォーカスがあっているとEscを押しても終了してくれません
解決策があれば教えてください


438 名前:デフォルトの名無しさん mailto:sage [2008/12/30(火) 14:23:54 ]
>>436
2byte文字の2byte目にはいろんな値が来るので
0x82を判定したあと1文字飛ばしましょう(0xF0は判定しない)

439 名前:デフォルトの名無しさん mailto:sage [2008/12/30(火) 14:25:12 ]
>>436
使い方が間違っている。
IsDBCSLeadByteExはマルチバイト文字の1バイト目の範囲内にあるかどうかという判定しかしない。
1バイト目にも2バイト目にもくる可能性のあるコードならそうなる。
文字列渡してないんだから厳密な判定ができないのはわかるべ?



440 名前:デフォルトの名無しさん mailto:sage [2008/12/30(火) 14:27:09 ]
>>435
パターンが「.*」で終わる場合はその部分は無視される。だから「*.*」は「*」と同じ。
ttp://blogs.msdn.com/oldnewthing/archive/2007/12/17/6785519.aspx

>>436
0xF0は1byte目にも2byte目にもなりうるからだろ。
先頭から順に調べていかなくちゃ、本当の1byte目かどうかはわからない。
0x82がLeadByteと判明した時点で次の0xF0は読み飛ばさなきゃだめ。

>>437
WM_COMMANDでIDCANCELとか来ないの?

441 名前:デフォルトの名無しさん mailto:sage [2008/12/30(火) 14:34:30 ]
>437
WM_GETDLGCODE

442 名前:デフォルトの名無しさん mailto:sage [2008/12/30(火) 14:36:17 ]
コンソールでdir *.*とかすらやったことないのか・・

443 名前:435 mailto:sage [2008/12/30(火) 14:37:43 ]
>>440
ありがとう、疑問が解決しました
今度から"*"にします。

444 名前:435 mailto:sage [2008/12/30(火) 14:43:54 ]
>>442
むしろPC98時代からPC使ってたから
今まで疑問にも思わなかった

445 名前:436 mailto:sage [2008/12/30(火) 14:44:06 ]
>>438-439
回答ありがとうございます。


私が本当にやりたい事はファイルからデータを読み込んで
エディットボックスに反映(処理ログみたいな)させていくというものなのですが、
一度に最大1023byteしか読み込ませないように(wsprintfの関係)制御しています。
しかし、この場合バイナリでReadしている為、文字化けが発生する可能性があり
それを回避する為、最大(1023byte)で読み込んだ場合、末尾のデータが
全角文字(2byte)の先頭1byte目かを判定して真の場合、読み込みポインタを
-1byteずらしているというやり方で回避させていたつもりなのですが、
>>436の記載したAPIの使い方を私が勘違いしていた為うまくいきませんでした。

ベタ書きでの判定となると
if((チェック値 >= 0x81 && チェック値 <= 0x9F) || (チェック値 >= 0xE0 && チェック値 <= 0xEF))
という感じになると思うのですが、こういう判定をしてくれるAPIは
提供されていないのでしょうか?

446 名前:デフォルトの名無しさん mailto:sage [2008/12/30(火) 14:47:37 ]
>>445
先頭から調べるか、調べたい場所から1バイトずつさかのぼって
1バイト目じゃない文字の部分から順に判定すればいい。

447 名前:デフォルトの名無しさん mailto:sage [2008/12/30(火) 15:09:14 ]
あるウィンドウプロシージャでコントロールのメッセージはWM_COMMANDとして送られてきますが、
コントロール自身のウィンドウプロシージャではどういう形でメッセージが飛んでくるんでしょうか?
たとえばリストボックスからのLBN_SETFOCUSはMSG = WM_COMMAND,WPARAM = (4 << 16) | 100ですが、
コントロール自身ではどう受け取ればいいのかが分かりません。もしかして頓珍漢なこと言ってますか?

448 名前:デフォルトの名無しさん mailto:sage [2008/12/30(火) 15:12:48 ]
コントロール自身がWM_SETFOCUSを受け取って、親に自分でLBN_SETFOCUSを投げてるんじゃないのか?

449 名前:437 mailto:sage [2008/12/30(火) 15:14:21 ]
>>440
>>441
回答ありがとうございます

case WM_GETDLGCODE:
return DLGC_WANTALLKEYS;
case WM_KEYDOWN:
if(wp == VK_ESCAPE) 終了処理;

このような感じにしたのですが終わってくれません
何か間違いがあれば、ご指摘お願いします



450 名前:デフォルトの名無しさん mailto:sage [2008/12/30(火) 15:26:21 ]
>>448メルシー。じゃあ、LBN_SELCHANGEとかってのはコントロールの単純なサブクラス化じゃうまく捕らえられないのかな・・・

451 名前:436 mailto:sage [2008/12/30(火) 15:30:43 ]
>>446
やはりそれしかないですよね。
ありがとうございました。

452 名前:デフォルトの名無しさん mailto:sage [2008/12/30(火) 15:32:02 ]
>>450
LBN_***はコントロールのプロシージャがユーザーの操作に応じて親ウィンドウに投げてる奴だから
サブクラス化しようが何しようが捕まえられんよ

そもそもそうしないためにWM_COMMANDがある

453 名前:デフォルトの名無しさん mailto:sage [2008/12/30(火) 15:37:45 ]
MFCだとメッセージリフレクションで実装されている処理の話だな。
結局の所、親に投げられたメッセージを引っ張り出す必要があるので、
残念ながら、コントロール側だけで完結するようには書けないな。

454 名前:デフォルトの名無しさん mailto:sage [2008/12/30(火) 15:44:27 ]
>>453
今ライブラリを作ってて、イベントハンドラ関連の整備してたんですが、そこで詰まりまして・・・
でも、WM_COMMANDのLPARAMってどうやら、コントロールのハンドルらしいですね。
ハンドルからクラスを引っ張ってくる仕組みは既にあるので、何とかなりそうです。
たしか、WM_COMMANDってアクセラレータとコントロールとメニューのメッセージが飛んでくるんですよね。
何とか頑張って実装してみます。ありがとうございました。

455 名前:デフォルトの名無しさん mailto:sage [2008/12/30(火) 15:51:05 ]
>>449
case WM_COMMAND:
if ( LOWORD( wParam) == IDCANCEL) 終了処理;

456 名前:437 mailto:sage [2008/12/30(火) 16:23:19 ]
>>455
ありがとうございます
ですが、その通りにやっても動きませんでした
Escキーをおすとポーンと警告音みたいな音がするだけの状態です

457 名前:デフォルトの名無しさん mailto:sage [2008/12/30(火) 16:27:06 ]
>>445
そういう風にべた書きしても、436のように使えば全く同じ問題が起こる。
CP932でのIsDBCSLeadByteExだって同じことをやっているよ。

458 名前:デフォルトの名無しさん mailto:sage [2008/12/30(火) 16:44:09 ]
>>455
ダイアログリソースに ID = IDCANCEL のボタンを Visible = False で貼りつけてみ。

459 名前:デフォルトの名無しさん mailto:sage [2008/12/30(火) 16:45:05 ]
あ、>>456 だ。




460 名前:デフォルトの名無しさん mailto:sage [2008/12/30(火) 16:54:59 ]
>>458
ありがとうございます


case WM_CREATE:

CreateWindow(
TEXT("EDIT") , NULL ,
WS_CHILD | WS_VISIBLE | WS_BORDER | WS_TABSTOP | ES_LEFT | ES_AUTOHSCROLL ,
0 , 24 , 100 , 24 , hWnd , (HMENU)1000 ,
g_hInst , NULL );

このようにEDITを作っていました
Win32APIをはじめたばかりでよくわからないのですがダイアログボックス(?)の勉強をしないと
話についていけそうにないので出直してきます。ありがとうございました

461 名前:デフォルトの名無しさん mailto:sage [2008/12/30(火) 17:03:16 ]
>>460
おやおや、ダイアログボックスじゃなくてウィンドウでの話だったのか?
だったら、メッセージループ while(GetMessage(&msg・・・){・・・} の中で WM_KEYDOWN を拾えばいいじゃん。
ここでメッセージを変換してウィンドウに送るコードを書いてるのは自分自身なんだぞ。

462 名前:デフォルトの名無しさん mailto:sage [2008/12/30(火) 17:04:15 ]
>>460を見る限り、おそらくメインとなるウィンドウもCreateWindow(Ex)で作っているんだろう。
だったら、TranslateMessage/DispatchMessageのところをこうしろ。
if (!IsDialogMessage(メインウィンドウのハンドル, &msg))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
そうすれば、>>458をやらなくても、455の処理が可能になる。
これをやると、ダイアログの挙動を示すため、ほかにも副作用があるけど。

463 名前:デフォルトの名無しさん mailto:sage [2008/12/30(火) 18:11:39 ]
>>461>>462
ありがとうございます
メッセージループ内でやったらうまくいきました

ところで、Win32APIを学ぶとき皆さんは何を参考にしましたか?
私はとりあえずテンプレートのサイトを見ているのですが、皆さんはやはり本などを1冊くらいはもっているのでしょうか?
先日まで、コンソールでプログラミングしていた私にとって、windosプログラミングはすごく難易度が上がって
戸惑っています

それから、見た目の部分(ウィンドウやリストボックス、メニューなど)はリソースエディターというもので
作るのが一般的なのでしょうか?参考程度に教えてください

464 名前:デフォルトの名無しさん mailto:sage [2008/12/30(火) 23:43:27 ]
クロスプラットフォームで動くGUIを作るとしたら
やはりJavaですか?

465 名前:デフォルトの名無しさん mailto:sage [2008/12/30(火) 23:44:00 ]
>>464
すみませんスレ間違えました

466 名前:デフォルトの名無しさん mailto:sage [2008/12/30(火) 23:45:34 ]
>>464
スレ違い

467 名前:デフォルトの名無しさん mailto:sage [2008/12/30(火) 23:47:50 ]
>>466
知らないならレスしないでください。ウザイだけです。

468 名前:デフォルトの名無しさん [2008/12/30(火) 23:53:27 ]
>>463
俺はとりあえず MSU へ行ってみた
今言わせればひでえ講義(特に OLE 関係)だったが
何を自習すべきかの参考にはなった

469 名前:デフォルトの名無しさん mailto:sage [2008/12/31(水) 00:29:02 ]
>>464
このスレ的には、Wineを信じてWin32API使え。



470 名前:デフォルトの名無しさん mailto:sage [2008/12/31(水) 00:30:29 ]
>>463
>本などを1冊くらいはもっているのでしょうか?
Win16の時代からやってるから、1冊どころではないな。情報源はそれしかなかったんだ。
手始めは「APIの散歩道」つう本だったと思う。今ならアマゾンで1円(古本)+送料で手に入るが。(笑)

それに比べると今はラクだぞ、インターネットで何でも調べられるし。
もっとも、転がってるのは玉石混在ではあるがな。

471 名前:デフォルトの名無しさん mailto:sage [2008/12/31(水) 00:38:24 ]
自分は本を勧めたいが、自身が猫で覚えた身ゆえ、積極的に勧める気になれない。

472 名前:デフォルトの名無しさん mailto:sage [2008/12/31(水) 00:43:38 ]
俺は現場のソースで覚えた

473 名前:デフォルトの名無しさん mailto:sage [2008/12/31(水) 00:55:18 ]
>>472
それが一番ダメなパターン

474 名前:デフォルトの名無しさん mailto:sage [2008/12/31(水) 01:23:09 ]
>>470
×玉石混在
○玉石混淆

475 名前:デフォルトの名無しさん mailto:sage [2008/12/31(水) 01:27:26 ]
>>474
四字熟語としては間違ってるけど、別におかしくはない。

476 名前:デフォルトの名無しさん [2008/12/31(水) 01:34:31 ]
あえて黙ってたのに
指摘する阿呆に
言い訳する阿呆

阿波踊りは他でやれ

477 名前:デフォルトの名無しさん mailto:sage [2008/12/31(水) 01:36:22 ]
あえて黙ってたのに
指摘する阿呆に
言い訳する阿呆

盆踊りは他でやれ

478 名前:デフォルトの名無しさん mailto:sage [2008/12/31(水) 01:37:26 ]
ウィンドウメッセージで392というのが飛んで来てはCallWindowProcが-1を返すんだが、
10進で392ってなんていうメッセージ?

479 名前:デフォルトの名無しさん mailto:sage [2008/12/31(水) 01:42:01 ]
392 == 0x188
winuser.hの中を調べる限りでは、LB_GETCURSELしか該当しなかった。



480 名前:デフォルトの名無しさん mailto:sage [2008/12/31(水) 01:42:27 ]
>>478
        ,.-─ ─-、─-、
      , イ)ィ -─ ──- 、ミヽ
      ノ /,.-‐'"´ `ヾj ii /  Λ
    ,イ// ^ヽj(二フ'"´ ̄`ヾ、ノイ{
   ノ/,/ミ三ニヲ´        ゙、ノi!
  {V /ミ三二,イ , -─        Yソ
  レ'/三二彡イ  .:ィこラ   ;:こラ  j{
  V;;;::. ;ヲヾ!V    ー '′ i ー ' ソ
   Vニミ( 入 、      r  j  ,′
   ヾミ、`ゝ  ` ー--‐'ゞニ<‐-イ
     ヽ ヽ     -''ニニ‐  /
        |  `、     ⌒  ,/
       |    > ---- r‐'´
      ヽ_         |
         ヽ _ _ 」

     ググレカス [ gugurecus ]
   (西暦一世紀前半〜没年不明)


481 名前:デフォルトの名無しさん mailto:sage [2008/12/31(水) 01:50:35 ]
>>473
何がダメなんだてめぇ
言ってみろクズ

482 名前:デフォルトの名無しさん mailto:sage [2008/12/31(水) 01:53:13 ]
明日実家に帰省するぜ!
ところでおまいら一年間振り返ってみるとやっぱおまいらの
技術力が一番参考になるわ

質問すると罵倒されるがちゃんと返してくれるしな
会社の連中は無関心すぎて役に立たないし第一話が通じなくてな


だから来年も困ったときはお前らに怒られながら質問するわ!
その時は罵倒しながらちゃんと答えてくれな

じゃあまた来年。
良いお年を!!!

483 名前:482 mailto:プライドある屑共へ [2008/12/31(水) 01:55:02 ]
>>481
レスした瞬間ワロタ


484 名前:デフォルトの名無しさん mailto:sage [2008/12/31(水) 01:59:25 ]
>>482
おう
良いお年を

485 名前:デフォルトの名無しさん mailto:sage [2008/12/31(水) 03:34:29 ]
>>468>>470>>471>>472
回答ありがとうざいます
みなさん人それぞれですね

私も早く一人前になれるようがんばります

486 名前:デフォルトの名無しさん [2008/12/31(水) 05:58:40 ]
>>408
oshiete1.goo.ne.jp/qa4592292.html
の回答番号:No.8
>Win32 API を「Windows の API」だと発言した人をみんなで袋叩きにしている 2ch の書き込みを発見。
ってどこで行われたかわかりますか?
過去ログでもあればどのような状況のものだったか見てみたいので
pc11.2ch.net/test/read.cgi/tech/1226461162/l50
でも上記の内容を聞いたのですがAPIネタではなくてWin32APIネタならこちらの方が妥当だと思って質問紙をし直します。

487 名前:デフォルトの名無しさん mailto:sage [2008/12/31(水) 07:12:34 ]
>>486
スレ違い
帰れクズ

488 名前:デフォルトの名無しさん mailto:sage [2008/12/31(水) 10:55:30 ]
うるせーばかどっかいけ

489 名前:デフォルトの名無しさん mailto:sage [2008/12/31(水) 12:48:21 ]
ほのぼのしてるなー
見てて和むわw



490 名前:デフォルトの名無しさん mailto:sage [2008/12/31(水) 12:48:44 ]
質問です
以下のようにShellExecute で URL を print したときに独自のアプリケーションを関連付けしたいのですが、どのレジストリにキーを追加すればいいでしょうか?

HINSTANCE hInst = ShellExecute(NULL, L"print", L"www.google.co.jp/index.html", NULL, NULL, SW_SHOWNORMAL);
※ShellExecute の第2引数に print、第3引数にURLを指定します

Expolorerのフォルダオプションのファイルの種類で、httpにprintを追加しましたが、ShellExecute の結果が SE_ERR_ACCESSDENIED (5) でエラーになりダメでした
htmlにも追加してみましたが、同様のエラー(SE_ERR_ACCESSDENIED)になりました
以下のレジストリへの登録は試したのですが、同様のエラー(SE_ERR_ACCESSDENIED)になりました

HKEY_CLASSES_ROOT\http\shell\print\command
HKEY_LOCAL_MACHINE\SOFTWARE\Classes\HTTP\shell\print\command

わかる方がいましたら教えてください

491 名前:デフォルトの名無しさん mailto:sage [2008/12/31(水) 13:07:50 ]
SE_ERR_ACCESSDENIED?
それだけを実行するシンプルなやつで試してみた?

492 名前:デフォルトの名無しさん mailto:sage [2008/12/31(水) 13:10:43 ]
TOPMOSTオプションをつけたウィンドウを作ったのですが
タスクバーより手前に表示できません(タスクバーをクリックするとウィンドウが隠れてしまう)

何か良い方法があれば教えてください

493 名前:デフォルトの名無しさん mailto:sage [2008/12/31(水) 13:51:38 ]
>>491
ShellExecuteだけを実行するアプリを作成して試してみましたが、ShellExecute の結果が SE_ERR_ACCESSDENIED (5) でエラーになりました
第3引数をURLではなく、.htmlファイルにしすると print した場合は ShellExecute で.htmlに関連付けしたアプリ起動できました。第3引数をURLにするとやはりエラーになります。
ShellExecuteで URL の print は無理なんですかね

494 名前:デフォルトの名無しさん mailto:sage [2008/12/31(水) 13:55:42 ]
>>490
HKEY_CLASSES_ROOT\htmlfile\shell\Print\command

495 名前:デフォルトの名無しさん mailto:sage [2008/12/31(水) 15:51:58 ]
DDEを考慮してないからだろ

496 名前:デフォルトの名無しさん mailto:sage [2008/12/31(水) 16:57:13 ]
URLの場合、
HKEY_CLASSES_ROOT\MIME\Database\Content Type
辺りから手繰っていかないと駄目な気がする。
Content Typeでの判断がメインで、拡張子はあくまで補助的なものだし。

497 名前:デフォルトの名無しさん mailto:sage [2008/12/31(水) 17:58:08 ]
テンポラリフォルダを空にするプログラムなんだけど、
"GetTempPath"でテンポラリフォルダを取得してそのままファイルを削除すると危険っぽいんで助けてください ><;

498 名前:デフォルトの名無しさん mailto:sage [2008/12/31(水) 18:01:34 ]
>>497
なぜ危険か承知しているなら、やめときなよ。
どのタイミングで削除するつもりだ?

499 名前:デフォルトの名無しさん mailto:sage [2008/12/31(水) 18:01:38 ]
You! やっちゃいなよ!



500 名前:デフォルトの名無しさん mailto:sage [2008/12/31(水) 18:02:30 ]
>>497
GetTempPathで取得したフォルダ以下を削除するプログラム作ったら
何故かD:\みたいなパスが返ってきていてDドライブ以下が全部消えた事ならある

501 名前:490 mailto:sage [2008/12/31(水) 18:03:10 ]
>>494
残念ながら、そのレジストリをいじっても同様のエラーになりますた

>>495,496
DDEやらContent Typeとキーワードが出来てましたが、正直よくわからないので、
勉強してから挑戦してみます。d

502 名前:デフォルトの名無しさん mailto:sage [2008/12/31(水) 18:04:05 ]
環境変数見りゃわかんだろ

503 名前:デフォルトの名無しさん mailto:sage [2008/12/31(水) 18:11:20 ]
こちらのTaskbar Container のようにタスクバーからアイコンを一時的に消すには
どうしたらよいでしょうか?

Factorial
ray200x.s148.xrea.com/software/

検索しているのですが、なかなか見つかりません orz

504 名前:デフォルトの名無しさん mailto:sage [2008/12/31(水) 18:23:51 ]
>>498
任意でいつでも削除できるのを、止めといたほうがよさそうですね・・・
>>499
やっちゃってるお掃除ソフト見つけたけど、下手するとOS再インストールする羽目になりそうです ><;
>>500
TEMPフォルダが見つからないとそうなるっぽい、でもエラーは返さない (´・ω・`)

505 名前:デフォルトの名無しさん mailto:sage [2008/12/31(水) 18:23:58 ]
WS_EX_TOOLWINDOWをもつウィンドウはタスクバーには入らない。

506 名前:デフォルトの名無しさん mailto:sage [2008/12/31(水) 18:28:11 ]
>>504
ユーザーが任意で削除できるようなサポートツールならいいが、自動で全部消しちゃうよーなツールなら
怖くて使えない。他のソフトの一時的なバックアップファイルを勝手に削除して、そのソフトが動かなくなったらどーするよ?
一定時間ごとに自動バックアップするソフトは結構ある。それらのソフトが、自身で作ったテンポラリファイルすべてをロック
しているとも限らない。

507 名前:503 mailto:sage [2008/12/31(水) 18:34:59 ]
>>505
Live Messengerを試しにTaskbar Containerに入れて
前後をWinSpectorで検証してみたのですが、
特にStyleやEXStyleは変化なしでした・・・うむむ

508 名前:デフォルトの名無しさん mailto:sage [2008/12/31(水) 18:36:06 ]
>>506
そうですよね、テンポラリフォルダはむやみに触ったらイケナイってことを理解しますた! (`・ω・´)

509 名前:デフォルトの名無しさん mailto:sage [2008/12/31(水) 18:54:19 ]
>>506
それって削除されると動かなくなるソフトの方が悪いんじゃまいか?
勝手に削除されて困るならロックしとくかApplication DataやLocal Settingsに置くべきだろ



510 名前:デフォルトの名無しさん mailto:sage [2008/12/31(水) 18:58:41 ]
>>509
ソフトが良くても悪くても動かなかったら困るだろ。

511 名前:デフォルトの名無しさん mailto:sage [2008/12/31(水) 18:59:46 ]
それは理解できるが、だからと言ってTemp全削除を行っていいわけにはいかない現実orz

512 名前:デフォルトの名無しさん mailto:sage [2008/12/31(水) 18:59:48 ]
昔、アンインストーラーがProgram Files以下を全消ししたエロゲを彷彿とさせられたw

513 名前:デフォルトの名無しさん mailto:sage [2008/12/31(水) 19:01:02 ]
>>503
それがどうやってるのか知らんけど、ITaskbarList を使えばできる

514 名前:デフォルトの名無しさん mailto:sage [2008/12/31(水) 19:01:19 ]
( ゚∀゚)アハハ八八ノヽノヽノヽノ \ / \/ \

515 名前:デフォルトの名無しさん mailto:sage [2008/12/31(水) 19:02:30 ]
>>509
その通りだよ。そのソフトが悪い。
でも、そういうところに手を抜いているソフトを、手を抜いていることを知らないで使っているユーザが
被害を被るよーなことは、避けたほうがいいと俺は思う。ニュアンス的には、未必の故意ってヤツだ。


516 名前:デフォルトの名無しさん mailto:sage [2008/12/31(水) 19:55:43 ]
>>515
Windows付属のツールでもTEMPフォルダのファイルを削除できるのだから
その程度でバグるようなソフトを考慮する必要なんてあるか?

exeと同じフォルダにファイル置くソフトがVistaでバグってるような物だろ。

517 名前:デフォルトの名無しさん mailto:sage [2008/12/31(水) 20:15:58 ]
>>516
>ユーザーが任意で削除できるようなサポートツールならいい
と最初に>>506最初に書いたんだがなあ・・・。

518 名前:デフォルトの名無しさん mailto:sage [2008/12/31(水) 20:18:59 ]
WindowsUpdateで再起動が必要なファイル更新だと、
新しいファイルが一旦TEMPに置かれていた気がするのだが。

519 名前:デフォルトの名無しさん [2008/12/31(水) 20:26:18 ]
                              /⌒)
                              ム  j
           ∧                   f   ヽ. |
          / ヽ     |    「 ̄ヽ    /   i.ヘV|
          / -ニニ=-  |    L_ノ   _/    ヽ.U|
         /   ヽ、   |    |  \ へ     ゝ|
                ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ヽ/_/|_/^ ̄

The days which are wrapped in the scene of summer and to pass gently
        An encounter with the girls repeated in the sunlight
           Summer continues to where as well
                 She is waiting in the air



520 名前:デフォルトの名無しさん mailto:sage [2008/12/31(水) 20:52:16 ]
>>516
Windows付属のツールは一週間以上使用されていない一時ファイルのみ削除じゃなかった?

521 名前:デフォルトの名無しさん mailto:sage [2008/12/31(水) 21:00:36 ]
そりゃ一定期間経過後のファイル限定なのは常識だろw
数秒前に作成されたばかりのファイルを削除するなんてウィルスと変わらんからな






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<198KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef