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


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

Win32API質問箱 Build54



1 名前:デフォルトの名無しさん [2007/06/12(火) 19:59:25 ]
スレ立てるまでもない、Win32APIのついての質問はこちらへどうぞ。
やさしいお兄さんやお姉さんたちが答えてくれるかも。

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

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

82 名前:デフォルトの名無しさん mailto:sage [2007/06/16(土) 17:46:27 ]
プログラム側のエラーじゃなくて、リネームをエクスプローラかなんかでやって出た
エラーだったんだろう。

83 名前:デフォルトの名無しさん mailto:sage [2007/06/16(土) 18:37:24 ]
文字列変換をANSIからTCHARに変換するAPIってないのですか?
プロジェクトの文字セットがunicodeなら、MultiByteToWideCharして
マルチバイトなら無変換

84 名前:デフォルトの名無しさん mailto:sage [2007/06/16(土) 18:52:30 ]
const char str[] = "ほげほげ";
TCHAR buf[sizeof str];

_stprintf(buf, "%hs", str);

というのはどうだろう。
ロケール指定は必要になると思うが。

85 名前:デフォルトの名無しさん mailto:sage [2007/06/16(土) 19:08:49 ]
よく意味のわからない質問に答えられるな

86 名前:デフォルトの名無しさん mailto:sage [2007/06/16(土) 19:11:25 ]
C++でATLを使ってよければATL::CA2Tとか楽

87 名前:デフォルトの名無しさん mailto:sage [2007/06/16(土) 19:14:43 ]
#ifdef UNICODE
できればいいんじゃね?

88 名前:デフォルトの名無しさん mailto:sage [2007/06/16(土) 19:18:17 ]
APIにはない

inline とか#ifdef つかって手前で作れって話かと

89 名前:デフォルトの名無しさん mailto:sage [2007/06/16(土) 21:00:28 ]
皆さん、有難うございます。83です。無いのですか、orz
TEXT(" ")マクロのAPI版を期待しんだすが...
>>84 と >>87の方法を検討したいとおもいます。
>>86 ATLは使ったことがありません。

90 名前:デフォルトの名無しさん mailto:sage [2007/06/16(土) 21:52:35 ]
>TEXT(" ")マクロのAPI版を期待しんだすが...

なぜ >>83 でそう書かないのか理解に苦しむ



91 名前:デフォルトの名無しさん mailto:sage [2007/06/16(土) 22:39:51 ]
>>80
> エラー時のダイアログのタイトル部分です。

そのダイアログは誰が出したもの?
>>82の予想通りっぽいけどさ。

変な雰囲気を感じたのは、
主語的なものが抜けていたからだったんだな。

92 名前:デフォルトの名無しさん mailto:sage [2007/06/16(土) 22:49:32 ]
>>83
Win32APIには、TCHARやLPTSTRやLPCTSTRを受け渡しするものは、ない!
(いや、例外的に何かあったような気もする・・・)
そんなものを渡されても、判別、つかないっしょ。

>>84
オーバーヘッドが問題にならないなら、
それはいいアイデアだ。
_stprintf(buf, _T("%hs"), str);
にすれば使えるね。


93 名前:デフォルトの名無しさん [2007/06/16(土) 22:50:41 ]
【派遣ネガティブ根性チェック】

3つ以上、チェックがつけばアナタの性格はひん曲がっており、
ネガティブ負け組派遣人生を歩んでいます。

□派遣先正社員の作った糞開発ツールはたとえバグだらけでも苦労して使うべきだ
□派遣先の人事権のある社員の意見はたとえ間違っていてもマンセーする
□昼食は必ず派遣先の社員と行くべきだ
□派遣先から「いつまでもここで仕事してくださいね(安い金でw)」と言われて嬉しい
□自社で仕事なんてできるわけがない
□派遣労働の問題点の話題が出ると感情剥き出しにして反論する
□派遣労働の問題を指摘する人は嫌いだ
□派遣先には仕事だけでなくプライベートについてもグイグイ引っ張って欲しい
□奢ってくれる派遣先正社員を尊敬する
□自分の月額金額を知らないのは当然だ、単金を聞いてはいけない
□派遣先正社員より自分の生涯収入が低いのは当然だ
□派遣先に尻尾を振り、かわいがってもらうことが大切だ
□チビは派遣先にかわいがってもらいやすから派遣には有利だ


94 名前:デフォルトの名無しさん mailto:sage [2007/06/16(土) 22:52:01 ]
>>89
> TEXT(" ")マクロのAPI版

意味が分からない。

マクロはコンパイル時に、ANSIかUnicodeか決まっちゃうのよ。


95 名前:デフォルトの名無しさん mailto:sage [2007/06/17(日) 00:17:39 ]
GetVersionExというAPIをVB6 EXEから使用していますが、
作成したEXEをプロパティで互換モード(Win95、Win2000等)に設定しても
戻り値(OSのVer番号)は、実行環境のOSのVer値となります。

この現象は、「WinXpSp2」「WinVista」にて確認しましたが、
 @互換モードで実行されているか否か
 AどのOSの互換モードに設定されているか
を知る方法を、ご存じの方は教えてください。

96 名前:デフォルトの名無しさん mailto:sage [2007/06/17(日) 01:24:48 ]
>>95
ちゃんと変わるけどなぁ(XP SP2で確認)

97 名前:95 mailto:sage [2007/06/17(日) 02:05:14 ]
>>96
ありがとうございます。

こちらは下記コードでもためしましたが、やっぱりだめでした..
ttp://www.bcap.co.jp/hanafusa/VBHLP/Version.htm

98 名前:デフォルトの名無しさん mailto:sage [2007/06/17(日) 02:11:17 ]
>>97
VBでビルドする度にEXEが新しくなって設定がリセットされている
とか、
VBでEXEを作ってはいるが、VB上から実行していて、EXEを使ってない
とか、
そういうところに盲点あったりしないか?

99 名前:95 mailto:sage [2007/06/17(日) 02:56:06 ]
>>98
そのミスはないです。
ちなみに互換モード設定はEXE更新後も保持されるようです。

Visual C++ 6.0で作成したEXEを、互換モード設定し起動したところ、
設定したOSのVerが、ちゃんとかえってきました。
DLLにしてVBからコールしようと思います。

100 名前:デフォルトの名無しさん mailto:sage [2007/06/17(日) 08:32:11 ]
使用する言語によって動作が変わるAPIがあったら今頃大騒ぎになってるだろ・・・



101 名前:デフォルトの名無しさん mailto:sage [2007/06/17(日) 13:51:37 ]
Explorerのファイルサイズの1.23GBみたいに書式化してくれる関数教えてください。

102 名前:デフォルトの名無しさん mailto:sage [2007/06/17(日) 14:01:17 ]
そのぐらい自分で作れよ。

103 名前:デフォルトの名無しさん mailto:sage [2007/06/17(日) 14:10:04 ]
>>101
MSDNライブラリ
→Win32 and COM Development
→User Interface
→Windows Shell
→Shell Reference
→Shell Lightweight Utility Functions
→String Functions
→関数名の一覧から自分の目で探せ

104 名前:デフォルトの名無しさん mailto:sage [2007/06/17(日) 14:14:55 ]
自分の妄想した通りのプログラムが出来る関数教えてください。

105 名前:デフォルトの名無しさん mailto:sage [2007/06/17(日) 14:17:28 ]
そのぐらい自分で妄想しろよ。

106 名前:デフォルトの名無しさん mailto:sage [2007/06/17(日) 14:33:39 ]
>>104
自分の妄想した通りのプログラムは、自分の妄想の中で実行すれば、いいんじゃね?



107 名前:デフォルトの名無しさん mailto:sage [2007/06/17(日) 14:34:23 ]
やあ、>>89 =83です。
こんな風にしたんだが良いと思う? 
一様win98SE(マルチバイト)とXP(uni.)で正常に動作するのが出来た。

//char -> TCHAR変換
char str[X];
TCHAR buf[X];

_stprintf( buf,
#ifdef UNICODE
_T("%hs"),
#else
_T("%s"),
#endif
str);

108 名前:デフォルトの名無しさん mailto:sage [2007/06/17(日) 14:35:54 ]
>>104
std::string mousou(std::string nounai) {
  //ここにコードを書いてください
}

109 名前:デフォルトの名無しさん mailto:sage [2007/06/17(日) 14:55:24 ]
>>107
_stprintfはスレ違いだな。このスレ的にはwsprintf。

110 名前:デフォルトの名無しさん mailto:sage [2007/06/17(日) 15:11:45 ]
>>107
なんでOSによってANSIとUnicodeを切り替えるの?
XPでもANSIでいいじゃない。



111 名前:デフォルトの名無しさん mailto:sage [2007/06/17(日) 15:12:23 ]
うっさいはげ

112 名前:デフォルトの名無しさん mailto:sage [2007/06/17(日) 15:21:44 ]
>>107
なんで#ifdef UNICODEするの?

_stprintf(buf, _T("%hs"), str) ;
これ一発でOKじゃんか。

%sにhを付けると、strを常にANSIとして扱うという意味だよ?


113 名前:107 mailto:sage [2007/06/17(日) 16:28:21 ]
>>112 熱烈感謝あげ
>%sにhを付けると、strを常にANSIとして扱うという意味だよ?
知らなかったよ、orz
h付でchar->UNI、hなしでchar->charと妄想した。

>>110 いや、あれよ、やっぱNT系OS用はuni.使わないとかっこわるいじゃない。

114 名前:デフォルトの名無しさん mailto:sage [2007/06/17(日) 16:31:00 ]
MSLUぶち込めばWin9xでもUnicodeAPI使えなかったっけ?

115 名前:デフォルトの名無しさん mailto:sage [2007/06/17(日) 16:36:24 ]
> かっこわるいじゃない
お前は何を言っているんだ?

複雑なコード書くほうがよっぽどカッコ悪い。
# で、文字列操作関連でバグ出して、もっとカッコ悪くなるんだろうな。

116 名前:デフォルトの名無しさん mailto:sage [2007/06/17(日) 16:42:48 ]
>>113
>NT系OS用はuni.使わないとかっこわるいじゃない

なんとなく気持ちは解るけど、それはミスディレクション
基本は keep it simple、だよ
NT系以外もターゲットにするなら、Unicodeは極力利用しないのがベター
無用な複雑性こそ憎むべきだよ

117 名前:デフォルトの名無しさん [2007/06/17(日) 16:46:55 ]
Windows Vista にて
普通のサーバープログラムを sexe でサービスに入れたのですが
通知領域(タスクトレイ)にアイコンが表示されません。
サーバー機能は問題なく動作しているようです。
もちろん「ディスクトップとの対話をサービスに許可」していますし
Shell_NotifyIcon のタイムアウト処理も行い
msgTaskBarRestart によるタスクトレイ再登録も行っています。

直接の原因は Shell_NotifyIcon が ERROR_FILE_NOT_FOUND に
なってしまっていることのようです。
何のファイルが見つからないんだ??? さっぱりわからん。

対応策はあるのでしょうか?
やはり サービスプロジェクトで書き換えるしかない?

118 名前:デフォルトの名無しさん mailto:sage [2007/06/17(日) 16:47:59 ]
sex ではチンポ入れるんだよ

119 名前:デフォルトの名無しさん [2007/06/17(日) 16:49:42 ]
↑のコメントをした者ですが、
ちなみにサービス起動しない場合はちゃんとアイコンは表示されます。

120 名前:デフォルトの名無しさん [2007/06/17(日) 16:51:53 ]
119のコメントは117のコメントに対するものです。



121 名前:デフォルトの名無しさん mailto:sage [2007/06/17(日) 16:54:55 ]
>116
NT以外って何?CEのこと?3.1のこと?

122 名前:デフォルトの名無しさん mailto:sage [2007/06/17(日) 16:57:15 ]
>>120
Vista以外だとどうなの?
それからVistaでの変更の影響は調べたの?
セッション0の分離とか大規模な変更が行われたので、
互換性に関する資料がMSから大量に出されてたと思うけど。


123 名前:デフォルトの名無しさん mailto:sage [2007/06/17(日) 16:57:46 ]
>>121
いや、流れからすると95系だろ

124 名前:デフォルトの名無しさん mailto:sage [2007/06/17(日) 17:10:34 ]
>>117
>何のファイルが見つからないんだ??? さっぱりわからん。

ttp://msdn2.microsoft.com/en-us/library/ms647738.aspx
>The most common cause of failure is that the taskbar window doesn't exist or is unresponsive.
>GetLastError in that case returns E_FILE_NOT_FOUND.

125 名前:デフォルトの名無しさん [2007/06/17(日) 17:34:33 ]
>>122
WindowsXP の場合は、タスクバーにアイコンは表示されて
サーバー機能も問題なく動作します。
ただ、何故かサービスのくせにひとたびログインしてログオフすると
プロセスが死にます。この辺はまだ未調査です。

>>124
ありがとうございます。調査します。

126 名前:デフォルトの名無しさん [2007/06/17(日) 17:41:44 ]
>>WindowsXP の場合は、タスクバーにアイコンは表示されて
タスクバー→タスクトレイの間違いです。すみません。

127 名前:デフォルトの名無しさん mailto:sage [2007/06/17(日) 19:12:54 ]
ボロ出し過ぎ

128 名前:デフォルトの名無しさん [2007/06/17(日) 19:43:20 ]
整理すると、sexe でサービス登録した場合、以下の現象になっている。
1)Windows XP の場合は、ログオフでサービス停止になる。
  タスクトレイアイコンは表示される。
2)Windows Vistaの場合は、タスクトレイにアイコンが出ない。
  ログオフしてもサービス停止にはならない。


129 名前:デフォルトの名無しさん mailto:sage [2007/06/17(日) 20:17:28 ]
>>113
MSDNライブラリでprintfの書式化文字列のところくらい見ろヨ

>>116
バイナリもテストも2重になっちゃうものね。



130 名前:デフォルトの名無しさん mailto:sage [2007/06/17(日) 20:22:19 ]
>>125
プロセスが死ぬのは、お前の書いたコードのバグで、例外か何かで落ちてるんだろ。
Drワトソンとか使ってチェックしる!

そもそも、
ユーザーのデスクトップのタスクトレイに、サービスが直接アイコンを出す
というのは、あんまりよくないと思う。

サービスのプロセスとは別に、
タスクトレイにアイコンを表示したりする、サービスのクライアントのプロセスを用意したほうがいい。
それをAll Usersのスタートアップに突っ込んでおけばいい。



131 名前:デフォルトの名無しさん mailto:sage [2007/06/17(日) 21:24:08 ]
>>95
どうせVB6.EXEのほうの設定(してない)が適用されてるとかいうオチだろ

132 名前:デフォルトの名無しさん [2007/06/17(日) 21:36:37 ]
>>130
>プロセスが死ぬのは、お前の書いたコードのバグで、例外か何かで落ちてるんだろ。
>Drワトソンとか使ってチェックしる!

バグかもしれないが、CFrameWnd::OnDestroy() が呼び出されて正常終了している
ところまでは解っている。

>そもそも、
>ユーザーのデスクトップのタスクトレイに、サービスが直接アイコンを出す
>というのは、あんまりよくないと思う。

そうなのですか。了解。


133 名前:デフォルトの名無しさん mailto:sage [2007/06/17(日) 21:39:51 ]
>CFrameWnd::OnDestroy() が呼び出されて正常終了している

そりゃログアウトしたらウィンドウはクローズするよ
サービスなんだからウィンドウが無くても動き続けるように作らなくちゃ

134 名前:デフォルトの名無しさん [2007/06/17(日) 21:48:36 ]
>そりゃログアウトしたらウィンドウはクローズするよ
>サービスなんだからウィンドウが無くても動き続けるように作らなくちゃ

ウインドウは通常 ShowWindow( SW_HIDE ) していて、タスクトレイの
アイコンからのメニューで表示できるようなプログラムになっています。
それでどうしてもタスクトレイにアイコン表示したかった。

ウインドウがあるから当然なのかなとも思ったのですが、Vista では
サービス停止にならなかったので???と思ったしだいです。

135 名前:デフォルトの名無しさん mailto:sage [2007/06/17(日) 21:56:28 ]
セッション0隔離でググれ

136 名前:デフォルトの名無しさん [2007/06/17(日) 21:59:22 ]
>>セッション0隔離でググれ
了解。ありがとうございます。


137 名前:デフォルトの名無しさん mailto:sage [2007/06/17(日) 22:19:38 ]
>>131
>>98が指摘しているけど、違うらしいぞ。

何を指摘されているのか理解していないのかもしれないが。


>>132
トップレベル・ウィンドウに終了しる! っていうメッセージが来て、
はいはい、わかりました
といって終了するようにプログラムしたのは、おまえ自身だろ?

そりゃぁ終了するわな、当然。

サービスなんだから、そういうメッセージが来てもシカトしろよ。
サービスとして起動されている場合だけシカトするのでもいいよ。

ていうか、
ただのアプリとして作ったものをsexeを使ってサービスとして走らせるのに、
タスクトレイにアイコンだしたり、ユーザとの対話をするというのが、おかしい。

138 名前:デフォルトの名無しさん mailto:sage [2007/06/17(日) 22:24:11 ]
そもそも、sexeを使おうという時点で、間違ってるよ。
自分でサービスのためのAPIを使おうとすれば、自ずと理解することが、すっぱり抜けてる。

139 名前:デフォルトの名無しさん mailto:sage [2007/06/17(日) 22:24:48 ]
サービスにすると嫌われるよ

140 名前:デフォルトの名無しさん [2007/06/17(日) 22:33:12 ]
sexe はちょっと試してみただけです。
いろいろと勉強になりました。
ありがとうございました。



141 名前:デフォルトの名無しさん mailto:sage [2007/06/17(日) 22:34:40 ]
sex はちょっと試してみただけです。
いろいろと勉強になりました。
ありがとうございました。

142 名前:デフォルトの名無しさん mailto:sage [2007/06/17(日) 23:04:34 ]
>>139
sexeに比べたらマシだろ。

143 名前:デフォルトの名無しさん [2007/06/17(日) 23:41:45 ]
ついでにさらに教えてほしいのですが、
サーバープログラムもサーバーとしての機能設定を行ったり、
クライアントの情報をリアルタイムで確認したりという
GUIがあった方が良いケースもあると思いますが、
こういうプログラムはサービスにする必要はありますでしょうか?


144 名前:デフォルトの名無しさん mailto:sage [2007/06/17(日) 23:45:33 ]
>>143
普通はサーバプログロムのみをサービスにしてGUI系は別プロセスにするんじゃないか?

145 名前:デフォルトの名無しさん [2007/06/17(日) 23:55:06 ]
>>144
そうするとリアルタイムという部分が若干のタイムラグとなりますが、
やっぱりその実装ですかね...


146 名前:デフォルトの名無しさん [2007/06/17(日) 23:58:49 ]
>>144
そうするとリアルタイムという部分が若干のタイムラグとなりますが、
やはりその実装ですかね...

147 名前:デフォルトの名無しさん mailto:sage [2007/06/18(月) 00:01:24 ]
>>145
143の文章も意味が不明瞭だが、
もうちょっと、他人にわかりやすく、端折らずに書いてよ。

タイムラグを気にしているけど、
サービスと、
稼働状況をモニターするクライアントとの間は、
どうやって情報を受け渡ししようと考えてるの?

148 名前:デフォルトの名無しさん [2007/06/18(月) 00:09:45 ]
>タイムラグを気にしているけど、
>サービスと、
>稼働状況をモニターするクライアントとの間は、
>どうやって情報を受け渡ししようと考えてるの?

TCP/IP による通信です。
タイムラグはさほど気にすることはありませんが...

149 名前:デフォルトの名無しさん mailto:sage [2007/06/18(月) 00:12:10 ]
じゃあ解決だね

150 名前:デフォルトの名無しさん [2007/06/18(月) 00:13:10 ]
解決です。ありがとうございます。



151 名前:デフォルトの名無しさん mailto:sage [2007/06/18(月) 00:17:33 ]
>>148
なんだよ。
気にしないものを、気にしてたのかよ。
馬鹿馬鹿しい。

で、
同一プロセスの次が、いきなりTCP/IPかよ。
タイムラグを気にしてるから、共有メモリと同期を使うのかと思ったぞ。

152 名前:デフォルトの名無しさん [2007/06/18(月) 00:25:42 ]
>>151
TCP/IPはクライアントとの通信です。
モニターはサーバーPCのみでOKということです。
同一プロセスならばリアルタイムですが、プロセスを分けると
共有メモリにしろ周期的にチェックする必要があるので
タイムラグが若干発生するけどまあ気にするほどでもないかと
いうことです。失礼しました。

153 名前:デフォルトの名無しさん mailto:sage [2007/06/18(月) 00:41:19 ]
>>152
文章が不明瞭だと思ってたけど、日本語が通じなんだな、おい。


154 名前:デフォルトの名無しさん [2007/06/18(月) 00:49:50 ]
>>153
単なる誤解でしょ。

>>稼働状況をモニターするクライアント
をモニター=クライアントと解釈するかどうかですよね。
そうだとすると通じてなかった。


155 名前:デフォルトの名無しさん mailto:sage [2007/06/18(月) 00:55:50 ]
>>154
それ以外の解釈は、ないだろ。

誤解するかもしれないので、
「稼働状況をモニターする」
と書いたのに。

だいたい、お前が作っているサービスが何をする代物なのか、言ってないだろ。


156 名前:デフォルトの名無しさん [2007/06/18(月) 00:59:21 ]
>>155
>お前が作っているサービスが何をする代物なのか、言ってないだろ。

ここで議論することでもないですので、これで終わりにしましょう。
ありがとうございました。

157 名前:デフォルトの名無しさん mailto:sage [2007/06/18(月) 00:59:22 ]
> 同一プロセスならばリアルタイムですが、プロセスを分けると
> 共有メモリにしろ周期的にチェックする必要がある

同一プロセスだからといってリアルタイムとは限らないし、
プロセスを分けることで、周期的にチェックするしか出来ないわけでもない。

158 名前:デフォルトの名無しさん mailto:sage [2007/06/18(月) 12:48:34 ]
>>134
・Vistaではサービスは別のセッションで動くように変更された
・あるセッションで動いているウィンドウは別セッションでは表示されない
・Windowsが終了(ログオフ含む)時に閉じようとするのは、ログオンしているセッションに属しているウィンドウのみ
・WM_DESTROYの応答でPostQuitMessageしていたらウィンドウ閉じるときにプロセスが終わってしまう

この4点で「なぜVistaではトレイアイコンが出ないか」「なぜXPではログオフでプロセスが終わってしまうか」
の両者の理由が理解できるかと。


159 名前:デフォルトの名無しさん mailto:sage [2007/06/18(月) 13:03:07 ]
まあ、サービスをシステム権限で動かしてデスクトップとの対話を有効にすると
大きな穴になる可能性があるからなあ。
昔、その場限りでアドミン権限で実行させるためだけのサービスとか作って遊んでたっけ・・・

160 名前:デフォルトの名無しさん mailto:sage [2007/06/18(月) 13:24:10 ]
>>159
>昔、その場限りでアドミン権限で実行させるためだけのサービスとか作って遊んでたっけ・・・

まあ実際RunAsってサービス使って実装されてるしね。
ttp://www.atmarkit.co.jp/fwin2k/win2ktips/059execau/execau.html
>なおこの機能は、Windows 2000では「RunAs」というサービス、
>Windows XPでは「Secondary Logon」というサービスを使って実現されている。
>Windows 2000/XPでは、デフォルトでこのサービスが組み込まれ、
>システム起動時に自動的に起動されるようになっているが、
>何らかの理由からこのサービスが起動されていないと、
>[別ユーザーとして実行]は利用できない。



161 名前:デフォルトの名無しさん mailto:sage [2007/06/18(月) 15:58:38 ]
>>159
そんなサービス作らずとも、
標準のatコマンドで直近の時間を指定するか、soonコマンドを入れるかすれば、
管理者権限をもったプロセスを普通のユーザが起動できたぞ。

>>160
話が唐突に飛んでる

162 名前:デフォルトの名無しさん mailto:sage [2007/06/18(月) 16:07:33 ]
>>161
>話が唐突に飛んでる

スマソ。
>>159 が作っていたのが「いわゆるデスクトップでその場限りでアドミン権限で実行させるため」
のものだと誤解していたようだ。

しかしあれだけの文章から>>159 が作っていたのが
「別のウィンドウステーションでその場限りでアドミン権限で実行させるため」のものと
よく確信できたね。
じつは>>159==>>161


163 名前:161 mailto:sage [2007/06/18(月) 16:43:49 ]
>>162
NT4.0時代では常套手段だったから。



164 名前:デフォルトの名無しさん mailto:sage [2007/06/18(月) 18:48:49 ]
>>158への対策として「別セッション上のデスクトップのウィンドウを操作したい」ってのは可能なの?
別セッションのHDESKに接続できれば何とかなりそうな気もするけどAPIが見あたらない・・・

165 名前:デフォルトの名無しさん mailto:sage [2007/06/18(月) 18:58:04 ]
>>163
それはatを実行する権限を持ったやつが必要だしなあ
fileman.exeをadminで実行してしまえばそこから起動するやつはみなadminだったっけな

166 名前:デフォルトの名無しさん mailto:sage [2007/06/18(月) 21:48:52 ]
VSのインテリセンスのような小窓?はどうやって実装しているんでしょうか。
解説しているサイトか取っ掛かりになるようなキーワードを教えてください。

167 名前:デフォルトの名無しさん mailto:sage [2007/06/18(月) 21:54:26 ]
ToolTipじゃねーの?

168 名前:デフォルトの名無しさん mailto:sage [2007/06/18(月) 22:05:26 ]
アクティブにしないフラグつっこんでShowWindowとかSetWindowPosしてるだけじゃね?
と考えるおれは素人

しかしToolTipを間違ってクリックするとフォアグラウンド奪う実装は
なんとかしてほしい

169 名前:デフォルトの名無しさん mailto:sage [2007/06/18(月) 22:16:49 ]
CD-Rソフトのように、アプリケーションの起動中のみ、
CDやUSBメモリのようなメディアを接続しても
オートランを働かせないようにするにはどうしたら良いでしょうか?

170 名前:デフォルトの名無しさん mailto:sage [2007/06/18(月) 22:28:10 ]
>>169
おちつけ
kwsk



171 名前:デフォルトの名無しさん mailto:sage [2007/06/18(月) 22:37:30 ]
R焼きソフトを起動中にオートランが起動しないのは、
CDドライブを握ってる副作用みたいなもん。
USBメモリは差し込む前にデバイスを握ることができないので
機能として実装するのは難しかったはず。

172 名前:デフォルトの名無しさん mailto:sage [2007/06/18(月) 22:58:21 ]
一時的にオートランの設定をOFFにする。
問題はアプリが異常終了したとき、OFFのままになる。

173 名前:デフォルトの名無しさん mailto:sage [2007/06/19(火) 01:29:37 ]
プログラムが異常終了していないか監視するプログラムを作る。

174 名前:デフォルトの名無しさん mailto:sage [2007/06/19(火) 01:33:09 ]
OSが終了しないとも限らない
OSの監視も必要だ

175 名前:デフォルトの名無しさん mailto:sage [2007/06/19(火) 01:56:01 ]
OSごと異常終了することへの対策は、

アプリが起動したら、
レジストリの自動実行に、オートランの設定を元に戻すプログラムを登録し、
アプリが正常終了したら、その登録を消すようにすればいい。

元に戻すプログラムは実行されたら、自分で自動実行の登録を消すのも忘れずに。

176 名前:デフォルトの名無しさん mailto:sage [2007/06/19(火) 02:26:48 ]
autoun関係のレジストリって、変更後再起動しないと
explorerが認識してくれないこと無い?

177 名前:デフォルトの名無しさん mailto:sage [2007/06/19(火) 02:28:36 ]
Win95を無視するなら
RegisterWindowMessage(TEXT("QueryCancelAutoPlay"))
をどうぞ

178 名前:デフォルトの名無しさん [2007/06/19(火) 10:24:04 ]
マルチポストあんましたくないんですが、すみません、このスレでいいのか迷うんですが、
Windows2000やXP、Vistaで、アプリからサービスを一時的に停止したり
開始したりする方法を教えて下さい。
宜しくお願いします。

179 名前:デフォルトの名無しさん mailto:sage [2007/06/19(火) 10:27:58 ]
やばい機能に使えそうだから教えない

180 名前:デフォルトの名無しさん mailto:sage [2007/06/19(火) 10:28:46 ]
net start/stop呼んどけ



181 名前:デフォルトの名無しさん mailto:sage [2007/06/19(火) 10:32:23 ]
マルチは嫌い。

182 名前:デフォルトの名無しさん mailto:sage [2007/06/19(火) 10:34:02 ]
>>178
>マルチポストあんましたくないんですが
ふざけんな阿呆。
PC一般板にでも逝け。
そして二度と来るな。






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

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

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