トップページ⇒tech
1001コメント212KB

Win32API質問箱 Build91

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん2010/11/08(月) 02:01:42
スレ立てるまでもない、Win32APIのついての質問はこちらへどうぞ。
やさしいお兄さんやHなお姉さんたちが答えてくれるかも。
「知らないならレスしないで下さい。ウザイだけです。 」なんて言わないでねっ!

■過去スレ
Win32API質問箱 Build90
http://hibari.2ch.net/test/read.cgi/tech/1287205063/

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

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

過去スレはwikiから探してください。
0002デフォルトの名無しさん2010/11/08(月) 02:02:04
以下くだらない話
0003デフォルトの名無しさん2010/11/08(月) 02:06:55
−−−終了しました−−−
0004デフォルトの名無しさん2010/11/08(月) 02:07:31
−−−修復しました−−−
0005デフォルトの名無しさん2010/11/08(月) 02:08:22
−−−絶望しました−−−
0006デフォルトの名無しさん2010/11/08(月) 02:09:20
糞スレ
0007デフォルトの名無しさん2010/11/08(月) 02:11:41
WMP12(動画再生中)がSnippingShotでとれてGetDC(hWnd)でとれないのはなぜ?
まあ、GetDC(GetDesktopWindow())でスクリーン全体とって切り出しすればとりあえずはOKそうだな。前スレ>>939を参考にする限り。
ありがとうございました。
0008デフォルトの名無しさん2010/11/08(月) 02:11:57
Brain>erase "new" OR "sizeof(DWORD)"
記憶を消去しました.

Brain>_
0009デフォルトの名無しさん2010/11/08(月) 02:13:22
テンプレ
http://studiokingyo.fc2web.com/
0010デフォルトの名無しさん2010/11/08(月) 02:16:02
テンプラ
http://studiokingyo.fc2web.com/
0011デフォルトの名無しさん2010/11/08(月) 02:16:45
テンプル
http://studiokingyo.fc2web.com/
0012デフォルトの名無しさん2010/11/08(月) 02:18:36
Templete -> Tempura -> Temple
0013デフォルトの名無しさん2010/11/08(月) 02:18:36

                ( ゚д゚ )
              ¶ノ ¶ノ |
          / ̄ ̄ ̄ ̄ ̄\
          ./  (,)   (,)  ヽ
         |     | ̄|     |
         ヽ     ̄ ̄    /
          |  |   |  |   |
         .ノ .ノ ヽ ノ .ノ   .|
         (_ノ  (_ノ    .|
            / /  ̄/ /
           < <   .< <
            ヽ ヽ   ヽ ヽ
0014デフォルトの名無しさん2010/11/08(月) 02:21:31
Templeteとか英語出来ない日本人の典型例だな
0015デフォルトの名無しさん2010/11/08(月) 02:24:41
パッションテンプリート
0016デフォルトの名無しさん2010/11/08(月) 02:26:33
ただの落書き箱だよなここ
0017デフォルトの名無しさん2010/11/08(月) 02:34:54
釣れたww
0018デフォルトの名無しさん2010/11/08(月) 02:41:18
過疎ってるな
0019デフォルトの名無しさん2010/11/08(月) 02:56:43
隔離スレだからageんな
0020デフォルトの名無しさん2010/11/08(月) 03:01:29
>>19
age
0021デフォルトの名無しさん2010/11/08(月) 17:04:45
サービスプログラムを作成しています。
サービス側から、PC内のユーザーアカウント名を列挙したいのですが、
どのようにすればよいでしょうか?
0022デフォルトの名無しさん2010/11/08(月) 17:19:27
getuser
0023デフォルトの名無しさん2010/11/08(月) 17:39:12
定期あげ
0024212010/11/08(月) 17:54:54
>>22
登録されているアカウントを全て列挙したいです。
0025デフォルトの名無しさん2010/11/08(月) 18:01:23
で?
0026デフォルトの名無しさん2010/11/08(月) 18:04:20
.NETじゃないと無理
0027デフォルトの名無しさん2010/11/08(月) 18:26:15
やっぱ時代は.NETだね
0028デフォルトの名無しさん2010/11/08(月) 18:40:56
.NETでできました!ありがとうございます!!
0029デフォルトの名無しさん2010/11/08(月) 19:17:52
.NET最高!
0030デフォルトの名無しさん2010/11/08(月) 19:22:47
それと便座カバー
0031デフォルトの名無しさん2010/11/08(月) 20:12:28
ちがう物体ちがう物体ちがう物体
0032デフォルトの名無しさん2010/11/08(月) 20:45:33
>>24
NetUserEnumじゃね?
0033242010/11/08(月) 21:03:34
>>32
ありがとうございます。
これをキーワードに調べていきたいと思います。
0034デフォルトの名無しさん2010/11/08(月) 21:17:39
>>28
まったくなりすましかよ!w
0035デフォルトの名無しさん2010/11/08(月) 21:50:13
>>34
>>34
>>34
0036デフォルトの名無しさん2010/11/08(月) 22:11:54
>>35
>>35
>>35
0037デフォルトの名無しさん2010/11/08(月) 22:20:39
.net厨しねや
0038デフォルトの名無しさん2010/11/08(月) 22:29:46
.NET便利だね。これからは.NETで開発しよう。
0039デフォルトの名無しさん2010/11/08(月) 22:41:15
.NETやCodepackだけでどうしても実現できないならP/Invoke経由でAPI使えばいいしな
0040デフォルトの名無しさん2010/11/08(月) 22:48:47
ドトネトがやられたようだな...
ククク...奴は四天王の中でも最弱
0041デフォルトの名無しさん2010/11/08(月) 23:19:07
画面描画のため、垂直ブランキングを待つためのAPIって
Win32では何か用意されていますか?
0042デフォルトの名無しさん2010/11/08(月) 23:22:11
GetGlyphOutlineで"1"や"あ"の情報をうまく取得できません。乱れてしまいます
0043デフォルトの名無しさん2010/11/09(火) 00:12:01
>>41
つ DWM
0044デフォルトの名無しさん2010/11/09(火) 00:17:31
むしろ.NET
0045デフォルトの名無しさん2010/11/09(火) 01:26:10
>>42
j事故解決しました
0046デフォルトの名無しさん2010/11/09(火) 01:30:40
.Netアプリはユーザーに嫌われる
0047デフォルトの名無しさん2010/11/09(火) 01:58:00
受注開発物なら、お客さんの了解さえ得ればいいから問題ないんだけどね。
起動やUIがちょっとばかり速くなるより納期が短くなる方がいいし。

フリーソフトの作者なんかが、ユーザの評判を気にして.NETを使えないでいるのは
実に残念だ。
0048デフォルトの名無しさん2010/11/09(火) 02:25:20
フリーでなくともより多くの人が使うプログラムは僅かな速度にも気を配る価値はあるよね
ドカタなら.netがお似合いだけど
0049デフォルトの名無しさん2010/11/09(火) 02:53:57
ドカタなら.netがお似合い(キリッ
0050デフォルトの名無しさん2010/11/09(火) 04:51:21
起動やUIが遅いとかどんだけ低スペック使ってるんだよ
0051デフォルトの名無しさん2010/11/09(火) 04:59:58
今時.NET製という理由だけで毛嫌いするユーザーなんて絶滅危惧種でしょう
レジストリ潔癖症の基地外か98/2000を未だ常用してる貧乏人とかその辺
0052デフォルトの名無しさん2010/11/09(火) 07:32:25
.NETはWindows Updateで失敗を繰り返す持病があるからなあ
クライアントが大量にあると、そのメンテだけでがっつり時間を取られるのが地味に痛い
0053デフォルトの名無しさん2010/11/09(火) 09:51:00
>>50-51
その手の言い訳は聞き飽きてるわ
0054デフォルトの名無しさん2010/11/09(火) 10:18:20
.NETはスキルのない開発者が楽を出来るだけで、利用者にはデメリットしかないから嫌われる。
0055デフォルトの名無しさん2010/11/09(火) 10:28:53
的確な指摘
0056デフォルトの名無しさん2010/11/09(火) 11:51:33
Windows3.1で動いてるC++Winアプリ(APIを使用)って
WindowsXPで動きますか??
ドライバ関係は無くて単なる計算して結果を表示するアプリです。
0057デフォルトの名無しさん2010/11/09(火) 13:00:17
とりあえずやってみたらいいんじゃね?
32bitのWindowsは16bit版プログラムでも一応動かせるようになってるはず
0058デフォルトの名無しさん2010/11/09(火) 13:00:37
定期あげ
0059デフォルトの名無しさん2010/11/09(火) 13:00:58
Win32sならほぼ動く
スレ違いのWin16でもProfessional x64 Edition以外ならそれなりに動く
0060デフォルトの名無しさん2010/11/09(火) 13:46:22
intが16bit前提のプログラムがされてたらどっかで死ぬんじゃね?
0061デフォルトの名無しさん2010/11/09(火) 13:48:20
DOSコマンドのnet useで列挙されるネットワーク接続一覧を取得する
APIコマンドってあるのでしょうか?
特定のネットワーク接続だけ、アプリ起動時にWNetCancelConnectionで
クローズしてから起動をするようなプログラムを作成しようと思っています。

色々調べましたがどうしてもわかりませんでしたので、どなたか
ご教授頂ければ幸いです。
0062デフォルトの名無しさん2010/11/09(火) 14:59:23
>>60
16bitアプリはCPUに関係なく16ビットレジスタ範囲で動くんだが、
いったい何が死ぬと言うんだ?
おまえの頭か?
0063デフォルトの名無しさん2010/11/09(火) 15:06:05
>>61
コンソールアプリとDOSコマンドを混同するな。
それからWNetCancelConnectionを知っているのに、同系列の列挙のAPIが調べられないのは明らかにおかしい。
0064デフォルトの名無しさん2010/11/09(火) 15:10:19
>コンソールアプリとDOSコマンドを混同するな。

DOSコマンドのnet useで列挙されるネットワーク接続一覧を取得する ( よ う な )
APIコマンドってあるのでしょうか?

>それからWNetCancelConnectionを知っているのに、同系列の列挙のAPIが調べられないのは明らかにおかしい。
色々調べましたがどうしてもわかりませんでしたので、どなたか
ご教授頂ければ幸いです。

文盲の上、ホルホルしたいだけの奴は消えろよ。
お前みたいな奴がこのスレを隔離スレ化してんだよ。
0065デフォルトの名無しさん2010/11/09(火) 15:12:33
netはDOSコマンドではないと指摘されているのを理解できないのか
0066デフォルトの名無しさん2010/11/09(火) 15:16:16
ヒーハー
0067デフォルトの名無しさん2010/11/09(火) 15:18:48
やらぁ、ねっとねっとするぅ
0068デフォルトの名無しさん2010/11/09(火) 15:35:22
バグを仕様にすりかえるのが得意な人たちばっかりですので
0069デフォルトの名無しさん2010/11/09(火) 15:36:34
>>61
ある夜
0070デフォルトの名無しさん2010/11/09(火) 15:43:58
わかったわかった
じゃあDOSコマンドのnetじゃなくてガンダムで教えてくれ
0071デフォルトの名無しさん2010/11/09(火) 15:47:09
>>61
http://homepage1.nifty.com/MADIA/vc/vc_bbs/200608/200608_06080009.html
0072デフォルトの名無しさん2010/11/09(火) 15:47:14
>>69
ありがとさん
0073デフォルトの名無しさん2010/11/09(火) 15:50:48
>>61
WNetAddConnection2
WNetCancelConnection2
WNetAddConnection3
WNetCancelConnection3
0074デフォルトの名無しさん2010/11/09(火) 15:51:47
WNetGetConnection
0075デフォルトの名無しさん2010/11/09(火) 15:55:24
つーかnetコマンドで希望の機能があるのわかってるんだから
インポートテーブル見ればいいだけの話だ
0076デフォルトの名無しさん2010/11/09(火) 16:07:24
>>61です。

皆様、よくわからない質問の中ご回答いただきありがとうございます。
私自身で調べた限りでは、確かにWNetGetConnectionで情報が取れそうだと
思ったのですが、ローカル名がない接続情報の取得方法がわからなかったため、
頓挫していました。

やりたいことは、WNetAddConnection2でERROR_SESSION_CREDENTIAL_CONFLICTを
出さないようにするために、同じリモート名で既に接続されている全ての
ネットワーク接続を一度切断してから、接続処理を行いたいのです。

何かよい方法がありましたら、何でもいいので情報をいただけませんか?

>>63
@ITで「netコマンド」と気軽に記載していたので、Windows2000/XP以降に
新しく加わったDOSコマンドだと勘違いしてました。すみません。

>>71
これはこれで興味深い情報なのですが、今回の件とはちょっと違いました。
情報、ありがとうございました。

>>73>>74
情報、ありがとうございました。

>>75
インポートテーブルというものがよくわかりませんでした。
勉強不足ですみません。
0077デフォルトの名無しさん2010/11/09(火) 16:18:54
少しは調べろと書こうと思ったけど、googleの上位がAccessだのOracleだので
埋め尽くされてて確かにわかりにくいな

実行ファイル内にある使用してるAPIとDLLの一覧だと思えばいい
dumpbinやDependency Walkerなどで調べられる
実際に使ってみればわかるが、NetUseEnumなんていう
いかにもな名前のAPIを呼んでる
0078デフォルトの名無しさん2010/11/09(火) 16:59:28
NetUseEnum一択タだと思うけどねぇ
試してないけど
0079デフォルトの名無しさん2010/11/09(火) 18:26:40
>>77>>78
ご回答ありがとうございました。NetApi32.dllのNetUseEnumを使って
希望通りの情報を取得することが出来ました。本当にありがとうございます。

Dependency Walkerはこうした使い方もあるんですね。あまり意識せずに
必要なモジュールがそろっているかのチェック程度にしか使っていませんでした。

重ね重ね、お礼申し上げます。
0080デフォルトの名無しさん2010/11/09(火) 19:16:13
ほしゅ
0081デフォルトの名無しさん2010/11/09(火) 20:43:28
.NET最高!
0082デフォルトの名無しさん2010/11/09(火) 20:44:46
それはない
0083デフォルトの名無しさん2010/11/09(火) 20:47:57
それはない
0084デフォルトの名無しさん2010/11/09(火) 21:00:28
それはある
0085デフォルトの名無しさん2010/11/09(火) 21:20:49
なぁ?やっぱり.NETは神の生産効率だろぅ?
0086デフォルトの名無しさん2010/11/09(火) 22:33:41
神ってそんなにのろまだったのか
0087デフォルトの名無しさん2010/11/09(火) 22:34:18
↓以下.NET信者の援護レス↓
0088デフォルトの名無しさん2010/11/09(火) 23:20:18
此処にいる優秀な開発者たちに.Netで開発させて.Netの評判を上げたい気持ちはワカランでもない
0089デフォルトの名無しさん2010/11/09(火) 23:25:55
.NET + E = NEET
0090デフォルトの名無しさん2010/11/10(水) 00:04:35
>>76
>同じリモート名で既に接続されている全ての
>ネットワーク接続を一度切断してから

他人のセッションのリモート名は取得出来ないからあきらめろ
0091デフォルトの名無しさん2010/11/10(水) 05:51:04
定期あげ
0092デフォルトの名無しさん2010/11/10(水) 09:58:31
エッチなまうまう?
0093デフォルトの名無しさん2010/11/10(水) 15:25:19
WinMainの戻り値はintですが、x64でコンパイルした時でも何故int固定なのでしょうか。
OSが64bitならば戻り値も__int64に変換されてもよさそうなのですが。。
0094デフォルトの名無しさん2010/11/10(水) 15:51:40
なぜって、変えんの面倒いじゃん?
0095デフォルトの名無しさん2010/11/10(水) 15:56:24
>>93
互換性という言葉があってだな
0096デフォルトの名無しさん2010/11/10(水) 16:06:26
>>94
なるほど

>>95
ウィンドウメッセージのWPARAMなどは64bit化してるようですし、
チグハグな感じをうけました。
0097デフォルトの名無しさん2010/11/10(水) 16:09:42
WPARAMとかはポインタが入ってたりするからな
64bitに対応させないと
0098デフォルトの名無しさん2010/11/10(水) 16:20:39
ポインタ!なるほどスッキリしました。
0099デフォルトの名無しさん2010/11/10(水) 17:26:52
ポインタ!
0100デフォルトの名無しさん2010/11/10(水) 17:36:17
定期あげ
0101デフォルトの名無しさん2010/11/10(水) 18:25:43
すみません
DLLを作るにあたって
1) DllMain() を書く方法と
2) DllEntryPoint() を書いて DllMain() を省略する方法と
3) DllEntryPoint() と DllMain() のどっちも書かない方法
4) その他?
とかがあるみたいですが
どのやりかたが正しいんでしょうか?
■ このスレッドは過去ログ倉庫に格納されています