1 名前:デフォルトの名無しさん [2007/05/11(金) 20:27:08 ] スレ立てるまでもない、Win32APIのついての質問はこちらへどうぞ。 やさしいお兄さんやお姉さんたちが答えてくれるかも。 過去スレ、関連リンクは>>2-5 くらい。 ■注意 ・質問する前にMSDNライブラリやPlatformSDK、Google等で検索しましょう。 ・日本語版MSDN Online Libraryは不完全です。英語版(msdn.microsoft.com/library/ )の利用推奨。 ・APIフックなど高度な事をしたい場合はできるだけAdvenced Windowsを読みましょう。 ・言語特有の問題やIDE、MFCやVCLなどの質問はそれぞれの言語や開発環境スレで
930 名前:920 mailto:sage [2007/06/10(日) 17:08:36 ] 説明下手ですいません。かなりアホなこと訊いている気がしてきました >>926 既にOpen済みかそうでないかを判定する手段として Open済みのファイルのフルパスを保存し、一致検索しようと考ました 新たにOpenされたファイルなら前処理を行った後にライブラリにOpen要求を出します GetOpenFileNameでは存在するValidなパスしか受け付けないように設定しています >>927 不安になったので今デスクトップ上で上記3ファイルを新規作成してみましたが 最初の1個以外は同じファイル名だと怒られます(XP、NTFS)
931 名前:デフォルトの名無しさん mailto:sage [2007/06/10(日) 17:17:52 ] >>930 > 不安になったので今デスクトップ上で上記3ファイルを新規作成してみましたが > 最初の1個以外は同じファイル名だと怒られます(XP、NTFS) それはWindowsのファイルシステムドライバが過去の互換性に縛られるせい。
932 名前:デフォルトの名無しさん mailto:sage [2007/06/10(日) 17:19:39 ] GetVolumeInformation ttp://msdn.microsoft.com/library/ja/default.asp?url=/library/ja/jpfileio/html/_win32_getvolumeinformation.asp FS_CASE_IS_PRESERVED ファイルシステムは、ディスクにファイル名を記録するときに、大文字と小文字を区別して保存します。 FS_CASE_SENSITIVE ファイルシステムは、ファイル名の大文字と小文字の区別をサポートしています。
933 名前:920 mailto:sage [2007/06/10(日) 17:32:51 ] 皆様、ありがとうございます なるほど。基本的な理解が足りていなかったようです。 具体的な解決法が未だ見えませんが教えてもらった情報を元に これから色々テストしてきます
934 名前:デフォルトの名無しさん mailto:sage [2007/06/10(日) 17:36:45 ] がんばれ
935 名前:デフォルトの名無しさん mailto:sage [2007/06/10(日) 17:48:12 ] >>920 与えられたパスをFindFirstFileに渡す。 これで大文字/小文字も含めて正確なパスが得られるよ。 俺はGetModuleFileNameで得られたパス名を修正するのに使っている。
936 名前:デフォルトの名無しさん mailto:sage [2007/06/10(日) 18:15:31 ] がんばるな
937 名前:デフォルトの名無しさん mailto:sage [2007/06/10(日) 18:25:55 ] CorrectFileNameEx
938 名前:デフォルトの名無しさん mailto:sage [2007/06/10(日) 19:11:23 ] >>937 くわしく。
939 名前:デフォルトの名無しさん mailto:sage [2007/06/10(日) 19:15:53 ] CorrectFileNameEx に一致するページは見つかりませんでした。
940 名前:デフォルトの名無しさん mailto:sage [2007/06/10(日) 19:35:05 ] 次スレたてられなかった
941 名前:デフォルトの名無しさん mailto:sage [2007/06/10(日) 20:09:01 ] >>940 >980 くらいでちょうどよい。まだ、早すぎ。
942 名前:デフォルトの名無しさん mailto:sage [2007/06/10(日) 20:17:01 ] >>980 に期待
943 名前:デフォルトの名無しさん mailto:sage [2007/06/10(日) 20:27:30 ] GetCanonicalFileName
944 名前:デフォルトの名無しさん mailto:sage [2007/06/10(日) 21:32:03 ] >>943 詳しく
945 名前:デフォルトの名無しさん mailto:sage [2007/06/10(日) 21:38:41 ] >>944 詳しく
946 名前:デフォルトの名無しさん mailto:sage [2007/06/10(日) 21:43:09 ] >>945 悔しく
947 名前:デフォルトの名無しさん mailto:sage [2007/06/10(日) 21:54:28 ] >>943 つまんね
948 名前:デフォルトの名無しさん mailto:sage [2007/06/10(日) 22:22:49 ] >>947 ねんまつ
949 名前:デフォルトの名無しさん mailto:sage [2007/06/10(日) 23:08:34 ] ファイルハンドルを開きっぱなしでそのファイルを削除しようとすると、 「ファイルまたはフォルダの削除エラー」がでます。 ファイルが削除されるタイミングを知ることができれば、 ファイルハンドルを解放しようと思います。 タイミングを知る方法を教えてください。
950 名前:デフォルトの名無しさん mailto:sage [2007/06/10(日) 23:12:43 ] 初めから削除権与えたら駄目なん?
951 名前:949 mailto:sage [2007/06/10(日) 23:27:14 ] >> 950 ありがとうございます。 それで行けそうです。 めちゃ助かりました!
952 名前:デフォルトの名無しさん mailto:sage [2007/06/10(日) 23:28:25 ] >>949 試したことはないけど便宜的ロックで何とかならない? SMBとかで使ってる奴。
953 名前:デフォルトの名無しさん mailto:sage [2007/06/11(月) 06:14:19 ] スーパーマリオブラザーズで使われているのはロックではありません。
954 名前:デフォルトの名無しさん mailto:sage [2007/06/11(月) 08:40:08 ] DPMSで画面の電源を切るにはどうするですか?
955 名前:デフォルトの名無しさん mailto:sage [2007/06/11(月) 23:05:52 ] >>954 KernelIoControlでIOCTL_HAL_DDIとかじゃね?
956 名前:デフォルトの名無しさん mailto:sage [2007/06/12(火) 00:02:21 ] ochinchin.h を omanko.cpp に include したのに
957 名前:デフォルトの名無しさん mailto:sage [2007/06/12(火) 00:15:29 ] includeはinsertじゃないよバーカ
958 名前:デフォルトの名無しさん mailto:sage [2007/06/12(火) 00:26:02 ] 僕バ(略
959 名前:デフォルトの名無しさん [2007/06/12(火) 09:33:04 ] スレ違いかと思いますが、他に適当なスレが見当たらなかったので ここでお伺いさせてください。 Windows2000で Shell_NotifyIcon()でシステムトレイに表示できるアイコンは 16色らしいのですが、この16色は16種類の色なのでしょうか? それとも決められた16色なのでしょうか?
960 名前:デフォルトの名無しさん mailto:sage [2007/06/12(火) 14:04:17 ] 2kまでシステムカラー16色限定。 XP以後フルカラー+アルファが使えるようになった。 でもMEで256色アイコンが色化け無しでトレイにあるのを見たことあるんだよな・・・
961 名前:デフォルトの名無しさん mailto:sage [2007/06/12(火) 14:06:32 ] IEというか Comctrl32 のバージョン依存じゃね?
962 名前:デフォルトの名無しさん mailto:sage [2007/06/12(火) 14:15:44 ] ttp://msdn2.microsoft.com/en-us/library/ms538121.aspx hIcon Windows 95, Windows 98, and Microsoft Windows NT 4.0 support icons of up to 4 bits per pixel (BPP). Windows Millennium Edition (Windows Me) and Windows 2000 support icons of a color depth up to the current display mode. Windows XP supports icons of up to 32 BPP.
963 名前:デフォルトの名無しさん mailto:sage [2007/06/12(火) 14:57:49 ] そのアイコンの話じゃねーんだよバーヤ
964 名前:デフォルトの名無しさん mailto:sage [2007/06/12(火) 15:02:19 ] そのアイコンの話なーんだよバーカ
965 名前:デフォルトの名無しさん mailto:sage [2007/06/12(火) 15:40:27 ] 扱うのはそのアイコンだが、今回の話はそれとは違う部分の制限だろ
966 名前:デフォルトの名無しさん mailto:sage [2007/06/12(火) 16:05:06 ] いや、>>962 の説明で正しい。
967 名前:デフォルトの名無しさん mailto:sage [2007/06/12(火) 16:21:31 ] 元の質問者は16色と言ってるんだけど、 つまりこれは16色の環境で実行したってことなの?
968 名前:デフォルトの名無しさん mailto:sage [2007/06/12(火) 16:32:16 ] >>967 >16色らしいのですが っつーくらいだから、試してはいないとふんだ。
969 名前:デフォルトの名無しさん [2007/06/12(火) 16:51:50 ] すいません。元の質問者です。 試しました。 オレンジベースのグラデーションで16色アイコンをShell_NotifyIcon()で 表示したのですが、XP上ではイメージどおりに表示されたのですが 2Kに持っていったらグレースケール色になってしまったのです。 ググったら2Kは16色だよ。との情報を得ました。 そしてその16色とは固定の16色なのか16種類なのかとの疑問となり、 グレーになる原因を求めてこのスレにお邪魔させていただきました。 >>962 さんの情報では 2Kはデスクトップのカラービットに依存すると解釈したのですが であれば、32bitに設定していますので普通に表示されるはずだと 思うのですが・・・また解からなくなってしまいました。
970 名前:デフォルトの名無しさん mailto:sage [2007/06/12(火) 17:03:03 ] 普通にShell_NotifyIconだけだと16色にしかならないから XP未満で256色なのはタスクトレイのウィンドウをフックしてイメージリストを書き換えてるんだよ。 exploer.exeにパッチとか常駐ソフトで変更てのもあるが汎用性がない。
971 名前:デフォルトの名無しさん mailto:sage [2007/06/12(火) 17:06:47 ] グレースケールだとシステム標準じゃないような、、、って 白、明灰、暗灰、黒の4段階ならシステム16色だな。
972 名前:デフォルトの名無しさん [2007/06/12(火) 17:13:22 ] 元の質問者です。 すると Shell_NotifyIcon()だけを素直に使った場合、 >>960 のシステムカラー16色という制限を受けるって ことですね。
973 名前:デフォルトの名無しさん mailto:sage [2007/06/12(火) 17:33:38 ] 16x16ドット16色で見やすいアイコンを作るのもプログラマの腕の見せ所です
974 名前:デフォルトの名無しさん [2007/06/12(火) 17:42:31 ] なるほどシステムカラーを組み合わせて 遠目からオレンジっぽく見えるようにします。 それにしても>>962 さんの紹介してくれたMSの説明は フックしてイメージリストを書き換えるのが前提の 説明なのでしょうか。 英語が苦手なので全部を解読するのは厳しいですが、 それもプログラマの腕の見せ所ですものね。
975 名前:デフォルトの名無しさん mailto:sage [2007/06/12(火) 17:48:12 ] 流れとは関係ないかも知れないが、 うちの win98 では、トレイ上ではないが、8ビットカラーの 32x32, 16x16 の アイコンが表示されている。写真から xpadie かなんかで減色して作ったもの。
976 名前:デフォルトの名無しさん mailto:sage [2007/06/12(火) 17:51:12 ] 休止状態、スタンバイ、スリープから復帰したことを知ることって出来ないですか?
977 名前:デフォルトの名無しさん mailto:sage [2007/06/12(火) 17:54:48 ] はい。
978 名前:デフォルトの名無しさん mailto:sage [2007/06/12(火) 18:03:40 ] >>976 ttp://www.winapi-database.com/Message/WM/WM_POWERBROADCAST.html
979 名前:デフォルトの名無しさん mailto:sage [2007/06/12(火) 18:06:19 ] >>976 出来ない が true か → いいえ 出来ない が false か → はい
980 名前:デフォルトの名無しさん mailto:sage [2007/06/12(火) 18:07:43 ] >>976 質問の仕方が悪い。 休止状態、スタンバイ、スリープから復帰したことを知る方法がありますか。 あれば、その方法を教えてください。 とか言えばいいのよ。 本当に知りたいことが、方法の有無だけで、 あるなら自分で調べるよ、という人もいるからね。
981 名前:デフォルトの名無しさん mailto:sage [2007/06/12(火) 18:14:25 ] >>978 thx >>980 行間が読めない馬鹿は死ねばいいと思います
982 名前:デフォルトの名無しさん mailto:sage [2007/06/12(火) 18:24:12 ] >>978 は余計なことをしたな
983 名前:デフォルトの名無しさん mailto:sage [2007/06/12(火) 18:26:53 ] 一行だから行間はない
984 名前:デフォルトの名無しさん mailto:sage [2007/06/12(火) 18:27:46 ] >>980 の脳が腐ってるだけ。
985 名前:デフォルトの名無しさん mailto:sage [2007/06/12(火) 18:45:00 ] >976が赤の他人に甘えてるだけ。 行間読むなんて、どこまでできても結局読んだ奴の推測にすぎない。
986 名前:デフォルトの名無しさん mailto:sage [2007/06/12(火) 18:46:52 ] もう>>983 の勝ちでいいよ
987 名前:デフォルトの名無しさん mailto:sage [2007/06/12(火) 18:46:56 ] お前らそんなんじゃコンビニにすら行けないな。
988 名前:デフォルトの名無しさん mailto:sage [2007/06/12(火) 18:49:13 ] >>985 がアホ過ぎるwよくそんなんで生活出来てるなwwwwwww
989 名前:デフォルトの名無しさん mailto:sage [2007/06/12(火) 18:51:59 ] 質問の回答を聞きに来たのか 煽りに来たのか どっちだ
990 名前:デフォルトの名無しさん mailto:sage [2007/06/12(火) 18:53:37 ] あんな質問してる方がアホ過ぎだ
991 名前:デフォルトの名無しさん mailto:sage [2007/06/12(火) 18:54:40 ] 一連のレスで何が一番ひどいかって言ったら、>>981 だろう。 こういうやつにまともなレスをしてはいけない。 しかも自演までしてるし。
992 名前:デフォルトの名無しさん mailto:sage [2007/06/12(火) 18:56:29 ] 「ぼくのしつもんに すなおに こたえないやつは わるいやつ」
993 名前:デフォルトの名無しさん mailto:sage [2007/06/12(火) 18:56:49 ] じゃあ一番のボケは>>985 ってことで
994 名前:デフォルトの名無しさん mailto:sage [2007/06/12(火) 19:12:25 ] >>988 対面リアルタイムでのやりとりは、この文字だけのやりとりとは情報量が格段に違うんだよ。
995 名前:デフォルトの名無しさん mailto:sage [2007/06/12(火) 19:15:25 ] >>980 くらいでカチンとくるやつは この板でちゃんとした回答はもらえないだろうなぁ
996 名前:デフォルトの名無しさん mailto:sage [2007/06/12(火) 19:19:16 ] 社会でも駄目だろ 文章力も無いのに行間読めとか言う奴は
997 名前:デフォルトの名無しさん mailto:sage [2007/06/12(火) 19:22:12 ] 課長、行間読んでます?
998 名前:デフォルトの名無しさん [2007/06/12(火) 19:28:04 ] >>981 お前が死ねば?
999 名前:デフォルトの名無しさん mailto:sage [2007/06/12(火) 19:35:08 ] ぬるぽ
1000 名前:デフォルトの名無しさん mailto:sage [2007/06/12(火) 19:37:04 ] 行間はここに↓
1001 名前:1001 [Over 1000 Thread] このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。