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

Win32API質問箱 Build118

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん2014/08/03(日) 04:02:03.38ID:T59meZIw
Win32APIについての質問はこちらへどうぞ。

■過去スレ
Win32API質問箱 Build117
http://peace.2ch.net/test/read.cgi/tech/1394156278/

■注意
・質問する前にMSDNライブラリやPlatformSDK、Google等で検索しましょう。
・日本語版MSDN Online Libraryは不完全です。
 英語版( http://msdn.microsoft.com/en-us/library/ )の利用推奨。
・APIフックなど高度な事をしたい場合はできるだけAdvenced Windowsを読みましょう。
・言語特有の問題やIDE、MFCやVCLなどの質問はそれぞれの言語や開発環境スレで
0153デフォルトの名無しさん2014/08/22(金) 23:07:40.90ID:U/01L7g8
通信ポートがなんだって?
0154デフォルトの名無しさん2014/08/23(土) 17:55:05.03ID:3EDi1e2F
GetStockObjectで取得したストックオブジェクトってDeleteObjectで削除してもいいの?
MSDNのGetStockObjectのページには
日本語版:DeleteObject 関数を呼び出してストックオブジェクトを削除する必要はありません(削除しても問題はありません)。
英語版 :It is not necessary (but it is not harmful) to delete stock objects by calling DeleteObject.
とあるけど、色々なウェブサイトには削除してはいけないと書いてある
普通ならMSDNを信用すべきだと思うけど削除してはいけないと書いてある所が多くて不安になってきた
0155デフォルトの名無しさん2014/08/23(土) 18:14:28.17ID:rS5gMmQG
MSDNを信じられない信者は破門です。このスレから出ていきなさい!
0156デフォルトの名無しさん2014/08/23(土) 18:30:09.16ID:q/+BPTqG
朝鮮人は出ていけ
0157デフォルトの名無しさん2014/08/23(土) 18:34:29.46ID:q/+BPTqG
時代はC#
0158デフォルトの名無しさん2014/08/23(土) 18:43:43.09ID:ZWPa2xFI
今はそうかもしれないが昔は削除すると影響あったからその名残
する必要のないことをするのするのもおかしい
したらいけないもんだと覚えておいても問題ない
0159デフォルトの名無しさん2014/08/23(土) 19:07:21.62ID:jh8yRGUv
疑問を持つ方向性がおかしいな
> 色々なウェブサイトには削除してはいけないと書いてある
これに対して疑問を抱くべき
なぜ削除してはいけないのか、と
0160デフォルトの名無しさん2014/08/23(土) 19:08:35.67ID:3EDi1e2F
レスありがとう
ストックオブジェクトなのかCreateで作ったものなのか分からないGDIオブジェクトの後始末をしたい時に
DeleteObjectにそのまま入れるべきか、それともまずストックオブジェクトか否かを判別すべきかというケースだった
大人しくストックオブジェクトの代わりに同じ内容のGDIオブジェクトをCreateすることにして一律でDeleteObjectすることにするよ
0161デフォルトの名無しさん2014/08/23(土) 19:28:21.46ID:ZWPa2xFI
そういうのはラッパークラス作って仮想Releseメソッドで
GDIオブジェクト扱う基底クラスではDeleteObject、Stockオブジェクトを扱うサブクラスではNOPにすれば
それかStockオブジェクトはクリーンアップ用リストに登録しないとか
0162デフォルトの名無しさん2014/08/23(土) 19:39:58.43ID:q/+BPTqG
ごみおっさんの解雇スレは不要
0163デフォルトの名無しさん2014/08/23(土) 21:18:34.30ID:ATeOZN34
毎日毎日自己紹介秋田
0164デフォルトの名無しさん2014/08/23(土) 22:17:21.50ID:JJDGD5m1
毎日毎日こんなクソスレ見てんのかよとんでもねえな
0165デフォルトの名無しさん2014/08/23(土) 23:12:03.95ID:q/+BPTqG
とんでもねえよおっさん
未だに古臭いコードでオナニーなんて
0166デフォルトの名無しさん2014/08/24(日) 07:48:58.53ID:js+i7Dus
createprocess について質問です
char cmd[] = "netsh routing ip add filter \"ローカル エリア接続 2\" input 192.168.2.2 255.255.255.255 192.168.1.1 255.255.255.255 tcp 0 22";
PROCESS_INFORMATION pi;
STARTUPINFO si;
ZeroMemory(&si, sizeof(STARTUPINFO));
si.cb = sizeof(STARTUPINFO);
si.dwFlags = STARTF_USESTDHANDLES;
si.hStdOutput = hOutputWrite;
si.hStdInput = hInputRead;
si.hStdError = hErrorWrite;
CreateProcess(NULL, cmd, NULL, NULL, TRUE, CREATE_NO_WINDOW, NULL, NULL, &si, &pi);
エラー処理は省略しましたが実際のプログラムでは書いています
RRASはインストールしてサービスも起動しています
コマンドプロンプトを立ち上げて手でコマンド打ったときは正常動作
(OKと表示される)しています
XPや2003serverのときは正常動作していたのですが
2008serverだと実行結果が

次のコマンドは見つかりませんでした: routing ip add filter "ローカル エリア接続 2" input 192.168.2.2 255.255.255.255 192.168.1.1 255.255.255.255 tcp 0 22
と netsh を除いた残りの文字列だけが表示されます

cmd 文字列の先頭に
cmd /c
を付け加えても同じ結果でした
何が問題?
0167デフォルトの名無しさん2014/08/24(日) 08:03:18.61ID:js+i7Dus
まだ解決してないんだけど
http://stackoverflow.com/questions/8166840/got-the-system-cannot-find-the-file-specified-when-i-run-netsh-from-createproc
ここ見て思ったのは
Win32APIのCreateProcessからnetshを呼ぶと32bit版のnetshが呼ばれて
コマンドプロンプトから手打ちだと64bit版のnetshが呼ばれてて
RRASがインストールされたのは64bit版の方だけとかいうオチかな
CreateProcessで64bit版のnetshを呼ぶ方向で試してみます
0168デフォルトの名無しさん2014/08/24(日) 08:16:49.57ID:js+i7Dus
C:\\Windows\\SysWOW64\\netsh.exe
で置き換えてみたけど結果変わらんな
なんなのこれ
0169デフォルトの名無しさん2014/08/24(日) 08:24:00.60ID:js+i7Dus
Please please please show your full code.
There are lots of parameters to CreateProcess.
Unless you actually make the effort to show us
what they are we simply have to guess at what you have done wrong.
Why are you passing an environment? How did you initialise si?
What is WindRoot? What is CommandLine?
By far the best would be to supply a complete console app
in the form of a single .dpr file that reproduced your problem.
Once you do that I guarantee we'll be able to fix your problem in double quick time. ?
David Heffernan Nov 18 '11 at 11:07

ああこういうことか
精進が足りんな
もちょっと勉強してくる
0170デフォルトの名無しさん2014/08/24(日) 08:24:58.36ID:ZJV6C+Ys
管理者として実行?
0171デフォルトの名無しさん2014/08/24(日) 08:53:40.85ID:js+i7Dus
C:\\Windows\\SysWOW64\\cmd.exe /c C:\\Windows\\SysWOW64\\netsh.exe
これでも同じエラーだった
たぶん>>170
0172デフォルトの名無しさん2014/08/24(日) 09:01:07.65ID:js+i7Dus
だけどexeは管理者アカウントから実行してるのになぁ
CreateProcessで作ったプロセスが勝手に違うアカウントで実行されてる?
0173デフォルトの名無しさん2014/08/24(日) 09:06:50.34ID:ZJV6C+Ys
ShellExecuteでやってみていけたらUAC問題
CreateProcessでは昇格は無理
0174デフォルトの名無しさん2014/08/24(日) 09:44:40.66ID:js+i7Dus
ShellExecuteでやってみた
ShellExecute(NULL, "open", "C:\\Windows\\SysWOW64\\netsh.exe", "routing ip (略)", "C:\\Temp", SW_SHOWNORMAL);
戻り値は2Aで32(10進)よりも大きい値なので成功していると思われるのですが
フィルタは有効になっていませんでしたので結局うまくいっていません
0175デフォルトの名無しさん2014/08/24(日) 09:57:20.71ID:js+i7Dus
DEPの除外リストに入れてもだめでしたので
しばらく休みます
おやすみなさい
0176デフォルトの名無しさん2014/08/24(日) 10:13:54.69ID:ZJV6C+Ys
>>174
昇格の場合openじゃなくてrunas
0177デフォルトの名無しさん2014/08/24(日) 11:28:21.53ID:js+i7Dus
CreateProcess の方だけど
netsh add helper ipmontr.dll
のコマンドを試してみたら

次のヘルパー DLL を読み込めません: IPMONTR.DLL

というエラーが表示された
CreateProcess で起動するとパスが通ってないとかそんなんだろうか?
2003 でうまくいってたのになぁ
UAC かなぁ

>>176
ありがとう
これから試します
0178デフォルトの名無しさん2014/08/24(日) 11:53:39.63ID:js+i7Dus
ShellExecute(NULL, "runas", "C:\\Windows\\SysWOW64\\cmd.exe", "/c C:\\Windows\\SysWOW64\\netsh.exe routing ip (略)", "C:\\Temp", SW_SHOWNORMAL);
戻り値は2A
結果はフィルタ設定追加されず
0179デフォルトの名無しさん2014/08/24(日) 12:19:12.18ID:gxl9aRfR
SysWow64へのリダイレクトは勝手にやってくれるだろ?
つーかC:\Windows\SysWOW64\*.exeって32bitバイナリだけどいいの?
0180デフォルトの名無しさん2014/08/24(日) 12:28:52.67ID:ZJV6C+Ys
>>178
cmd[] = "略";
の所を
cmd[256] = "略"
にしてCreateProcessしたらどうなる?

後はビルドエラー出ると思うけど一応
CreateProcessAが呼ばれてるのかCreateProcessWが呼ばれてるのか確認
0181デフォルトの名無しさん2014/08/24(日) 12:41:36.11ID:EYMdVqe7
西アフリカで、アウトブレイクした潜伏期間延長型エボラの死者・罹患者の数を散布図にし近似曲線を出してみたら
片対数グラフで直線だから既に指数関数的増加だった

2014年に、西アフリカでアウトブレイクした潜伏期間延長型エボラの死者は、2014年8月半ばで1000人。←今ココ
2014年12月上旬で1万人。
この時点で世界規模で空路シャットダウン開始、世界経済大混乱

2015年5月で10万人。
2015年9月で100万人。
この時点で、第二次世界大恐慌発生

2015年大晦日で1000万人。

ちなみに
http://ja.wikipedia.org/wiki/2014%E5%B9%B4%E3%81%AE%E8%A5%BF%E3%82%A2%E3%83%95%E3%83%AA%E3%82%AB%E3%82%A8%E3%83%9C%E3%83%A9%E5%A4%A7%E6%B5%81%E8%A1%8C
:カナダ保健省のサイトでは体内に数個のエボラウィルスエアロゾルが侵入しただけでも発症するとしている
:ハマダラカが、吸血したての人の新鮮血を媒介しているという学説が浮上している

エボラ出血熱は蚊やアブに刺されただけで感染する。

:「この地域には内戦、政府による搾取、テロが長い間続いており、それによって生まれた恐怖、貧困、猜疑心などがある。エボラは耐え難い騒音に付け加えられた一つのざわめきに過ぎない」
現地では

や る 気 は 皆 無
0182デフォルトの名無しさん2014/08/24(日) 12:44:17.38ID:js+i7Dus
CreateProcessでC:\\Windows\\SysWOW64\\cmd.exe /c set
した結果と手動でコマンドラインでsetしたときの結果が違う・・・
前者はPROCESSOR_ARCHITECTURE=x86とか
ProgramFiles=C:\Program Files (x86)
後者はPROCESSOR_ARCHITECTURE=AMD64とか
ProgramFiles=C:\Program Files

なのでUACの問題というより64bitの環境のnetshが呼べてない気がします
0183デフォルトの名無しさん2014/08/24(日) 13:31:03.00ID:js+i7Dus
レジストリのHKLM\Software\Microsoftの中に
NetSh
と
WOW6432Node\Netsh
があって
前者にはipmontr.dllが入ってて
後者には入ってない
ここに無理やりipmontr.dllのデータを作れば動くかも知れないけど
やってもいいのかなぁ
0184デフォルトの名無しさん2014/08/24(日) 13:33:06.03ID:js+i7Dus
間違えた
前者が
HKLM\Software\Microsoft\NetSh
後者が
HKLM\Software\WOW6432Node\Microsoft\NetSh
です
0185デフォルトの名無しさん2014/08/24(日) 13:51:05.29ID:js+i7Dus
CreateProcessから64bitのcmd.exeが使われるようにする方法を検索してて
http://www.kmonos.net/lib/bww.ja.html
こんなのが出てきたけどこれを入れればいいのかな
0186デフォルトの名無しさん2014/08/24(日) 14:13:26.08ID:js+i7Dus
入れてもだめだったorz

どうしても32bitの方が呼ばれてしまう><
0187デフォルトの名無しさん2014/08/24(日) 14:16:55.90ID:ZJV6C+Ys
>>179で既に指摘されてるが
指定してるcmdのpathが32bit
0188デフォルトの名無しさん2014/08/24(日) 14:43:19.45ID:pFdg0X5d
System32 -> Sysnative
0189デフォルトの名無しさん2014/08/24(日) 14:43:21.86ID:jlCuRdJh
おっさんの糞コードはスレを汚すだけなう
0190デフォルトの名無しさん2014/08/24(日) 14:52:17.09ID:nsbGoTTZ
なぜ素直に64ビットアプリを作らないのかしらね
0191デフォルトの名無しさん2014/08/24(日) 14:56:38.20ID:jlCuRdJh
おっさんもうwin32apiなんてやめよう
時代はC#
0192デフォルトの名無しさん2014/08/24(日) 15:25:54.96ID:jFkpkhSs
C#からでもWin32API呼び出すじゃん
0193デフォルトの名無しさん2014/08/24(日) 15:36:21.55ID:gxl9aRfR
C#でSystem.Windows.Forms名前空間使用禁止とか楽しそう
0194デフォルトの名無しさん2014/08/24(日) 15:37:56.27ID:jlCuRdJh
C#最強伝説
0195デフォルトの名無しさん2014/08/24(日) 15:41:21.99ID:jFkpkhSs
だいたいC#は言語仕様でしかなく実態は.NET Frameworkだろ
MSDNを見たって項目分けられているわけだし
0196デフォルトの名無しさん2014/08/24(日) 16:31:39.91ID:qBw4gxKh
標準ユーザーがUACで管理者に昇格してプログラムを実行すると、
プログラムからGetUserNameを使うと、管理者のユーザー名が取れるのですが、
実行した標準ユーザーの名前を取りたいと思っています。

LsaGetLogonSessionDataとかも使ってみたのですが、
やはり管理者のユーザー名しか取れません。
なにか別の方法があるでしょうか?
0197デフォルトの名無しさん2014/08/24(日) 19:09:15.36ID:jlCuRdJh
C#でしか解決できませんが
0198デフォルトの名無しさん2014/08/24(日) 19:18:43.96ID:jlCuRdJh
win32apiは時代遅れ使えない
繰り返すwin32apiは時代遅れ
0199デフォルトの名無しさん2014/08/24(日) 19:20:27.03ID:js+i7Dus
>>188
ありがとうございます
それで上手く行きました

結局 ShellExecute もアカウントの昇格も関係なくて CreateProcess でも上手く行ったのですが
とりあえず
*cmd = "C:\\Windows\\Sysnative\\cmd.exe /c C:\\Windows\\Sysnative\\netsh.exe routing ip (略)";
としたところ
前半の Sysnative\cmd.exe の方で 64bit 化された状態で
Sysnative\netsh.exe を参照することになるので
「指定したパスが見つかりません」と出て失敗しました

なので
*cmd = "C:\\Windows\\Sysnative\\cmd.exe /c C:\\Windows\\System32\\netsh.exe routing ip (略)";
とするか
単に
*cmd = "C:\\Windows\\Sysnative\\netsh.exe routing ip (略)";
とするのが良いようです

以上ご報告です
みんなオラに力を分けてくれてありがとう
0200デフォルトの名無しさん2014/08/24(日) 19:43:42.15ID:js+i7Dus
>>196
explorerに問い合わせると良いらしいです
http://eternalwindows.jp/security/securitycontext/securitycontext09.html
0201デフォルトの名無しさん2014/08/24(日) 20:03:45.13ID:jlCuRdJh
ゴミ質問をしてもおっさんの戯言しか返ってこないよ
0202デフォルトの名無しさん2014/08/24(日) 20:58:52.96ID:fKVcBBaC
なんでこんな必死なの?
お前もおっさんだろうに。
0203デフォルトの名無しさん2014/08/24(日) 21:07:43.49ID:jWy1bnP0
何お前、必死なおじさんに興味があるの?
やめといた方がいいと思うな
0204デフォルトの名無しさん2014/08/24(日) 21:28:31.05ID:jlCuRdJh
必死なのはおっさんのほう
0205デフォルトの名無しさん2014/08/24(日) 22:43:14.74ID:7trTXQ64
ID:jlCuRdJh おっさん、赤くなってきたぞ
0206デフォルトの名無しさん2014/08/25(月) 02:56:42.53ID:5aaZ0ZHF
>>205
http://hissi.org/read.php/tech/20140824/amxDdVJkSmg.html
堂々たる第一位
0207デフォルトの名無しさん2014/08/25(月) 07:42:02.50ID:LIV+GZ8D
前にも連日一位でこんなことしてる奴いたな
0208デフォルトの名無しさん2014/08/25(月) 11:30:04.01ID:FJ9UQc5Q
>>206
おいQZこんなスレまで出張かよ
コテつけてなくてもバレバレなんだな^^
0209デフォルトの名無しさん2014/08/25(月) 11:42:32.63ID:8Sw0Q1jq
わざわざid変えなければもっと順位上行くのに
馬鹿なの
0210デフォルトの名無しさん2014/08/25(月) 15:07:53.34ID:LIV+GZ8D
男ならテッペン取ったれ
0211デフォルトの名無しさん2014/08/25(月) 21:27:24.51ID:ZcBnU/FE
>>200
ありがとうございます!
GetShellWindowとOpenProcessTokenを使ったら取れました。
0212デフォルトの名無しさん2014/08/25(月) 22:15:31.86ID:FJ9UQc5Q
とったり〜
0213デフォルトの名無しさん2014/08/26(火) 11:43:25.59ID:KvwdZ1Dn
GUIを取り扱うライブラリを書こうとしています。
ウィンドウ内に1万個の部品を載せてみると、プログラムは異常な動きをします。
メモリーが破壊されデバッガで追えない状態になるのです。
ちょうど、GDIオブジェクトを1万個作った時のようになります。

思い当たる節は、次のウィンドウ・メッセージを読み取る前にInvalidateRect()を
あるいはWM_PAINTの中でSetViewport()を1万回呼ぶことですが、これはまずいのですか?

それともう一つ、GUIに一万個の部品が載ることは実際の利用状況で有り得ますか?
0214デフォルトの名無しさん2014/08/26(火) 12:07:41.71ID:HrT/idVN
最後に「マジレス希望」をつけないと
0215デフォルトの名無しさん2014/08/26(火) 13:43:23.77ID:9P+s8oWH
「部品」である必要があるのか疑問だな。
人間に一万個の部品を認識させるUIとは?
0216デフォルトの名無しさん2014/08/26(火) 13:43:24.78ID:hvry/qaF
>>213
ごみおっさんの懐古コードを希望したいんですね
0217デフォルトの名無しさん2014/08/26(火) 13:44:13.13ID:9ST+88q4
よう、おっさん!
IDを赤くする日課、さぼんなよ。
0218デフォルトの名無しさん2014/08/26(火) 13:54:04.39ID:KvwdZ1Dn
>>215
たぶん、マインスイーパーとか、音楽関係のソフトとかですかね。
0219デフォルトの名無しさん2014/08/26(火) 14:02:07.54ID:8jv5EL7T
ソースをうpしない限りネタ扱い決定
0220デフォルトの名無しさん2014/08/26(火) 14:07:06.31ID:KvwdZ1Dn
>>219
ソースはGitHubにあって誰でも見れるのですが、名前や連絡先が入っているので、
荒れているスレに出すのはどうしたものかって感じなんですよね。
明らかにプロの人が居るので、見てほしい気持ちはあるんですが。
それと同じ数の狂人もいるじゃないですか。
0221デフォルトの名無しさん2014/08/26(火) 14:09:16.67ID:46MkRGQY
ideoneは?
0222デフォルトの名無しさん2014/08/26(火) 14:13:53.19ID:KvwdZ1Dn
ところで、VSはどんどん進化していますよね。
NuGetとかみんな使っていないみたいだけど、これ世界が変わるくらい良いものですよ。
CoAppが尻切れトンボにならないように、C++でもどんどん使ったらいいんじゃないかと思います。
GitHubに接続すると、プロジェクトやソリューションの共有が楽にできるんじゃないかと思います。
一人でこつこつ勉強しながらやっているので、まだ試せていないんですが。
0223デフォルトの名無しさん2014/08/26(火) 14:18:19.05ID:m1Q2Zmzf
例え #pragma pack(push,n) 付けてても
x64とx86とでは、構造体のメンバ位置も、サイズも変わってしまうんだな・・・・

うかつだった。
0224デフォルトの名無しさん2014/08/26(火) 14:18:53.11ID:KvwdZ1Dn
>>221
2CHで質問するときは、ideoneを良く使っているんですけど、コード量が多くなりすぎちゃって
ちょっと無理です。
あんど
APIの呼び出し回数は関係なかったみたいです。
100万回呼んでも遅くなるだけで普通に処理できました。
ちょうどGDIオブジェクトの限界と数が同じくらいだったので、疑ってしまいました。
単純に、スタックの使いすぎでした。
ダイエットします。
0225デフォルトの名無しさん2014/08/26(火) 14:28:42.42ID:hvry/qaF
うわあああおっさんの大量糞レスキター
臭すぎ
0226デフォルトの名無しさん2014/08/26(火) 14:31:14.27ID:hvry/qaF
おっさんが一人で勝手に懐古レスしてるよ・・・
これだから古い技術に固執する馬鹿は
0227デフォルトの名無しさん2014/08/26(火) 14:45:21.45ID:9P+s8oWH
>>218
たぶんってなんだよー。まあ解決したならよかったね。
一万個も部品があるなら人間も扱いきれないだろうから、GUIって言うほどの
機能を持たせずゲーム的な作り方の方がいいんじゃないかと思ってた。
0228デフォルトの名無しさん2014/08/26(火) 14:59:46.12ID:hvry/qaF
とまあおっさんの助言です笑
0229デフォルトの名無しさん2014/08/26(火) 17:42:29.12ID:mLMy21sd
>>213
GDIリソース足りないんじゃね?コントロール減らせ。
>>218
マインスイーパは複数のボタンコントロールじゃなくて単一のクライアント領域だったり。
0230デフォルトの名無しさん2014/08/26(火) 18:02:23.12ID:hvry/qaF
おっさんの説教入りましたー
0231デフォルトの名無しさん2014/08/26(火) 22:32:31.52ID:8iORGEbW
>>215
♀
0232デフォルトの名無しさん2014/08/26(火) 22:52:40.88ID:M/DKQ9Ao
古くても枯れた技術は良いものだ
0233デフォルトの名無しさん2014/08/26(火) 23:36:56.69ID:pwR8Qra8
枯れた部品は良いが、枯れた技術で新しい部品を作るのは勘弁。
0234デフォルトの名無しさん2014/08/26(火) 23:44:19.23ID:AKSJinfO
古い古いいうけど
Win32APIの代わりって何があるん?
.NET Frameworkだけじゃ出来ることに限界があるし
新しいAPIのセットとかがあるん?Win64APIとか?
0235デフォルトの名無しさん2014/08/27(水) 00:14:34.68ID:sWLZW0su
http://www.atmarkit.co.jp/fdotnet/chushin/win8appdev_01/win8appdev_01_01.gif
http://www.atmarkit.co.jp/fdotnet/chushin/win8appdev_01/win8appdev_01_01.html
0236デフォルトの名無しさん2014/08/27(水) 01:01:26.18ID:pYhzyHuf
おっさんがAPI使って壊すプログラム
0237デフォルトの名無しさん2014/08/27(水) 01:23:58.40ID:D1kHPcdG
古いと言ってるだけで使うなと言ってるわけじゃない
0238デフォルトの名無しさん2014/08/27(水) 03:19:01.30ID:6l9mfgq+
>>234
この板に常駐してるC#しかできないおっさんの言うことだから気にするな
この板の書き込み上位はいつもこのおっさん
0239デフォルトの名無しさん2014/08/27(水) 04:54:40.32ID:fBBDR2vO
つうかWinAPIある程度出来るようになってからだと
.NETに移行する意味がほとんど無い
元々WinAPIやC++,C#ですら使用頻度低くて
デスクトップアプリも作る予定無いのに
CUIベースなら.NETよりもLL使ったほうが全然良い

そうなるとCUIベースのプログラムで、かつOS依存のAPI呼び出しが必要な時にLLから呼び出すだけ
WinAPIか.NETっつったら殆どWinAPI使うけど、そもそもどちらも俺にとっては使用頻度が低い
0240デフォルトの名無しさん2014/08/27(水) 06:38:59.38ID:coh19+fw
たぶんコントロール1万個の人はC#おっさんと同一人物だと思う
0241デフォルトの名無しさん2014/08/27(水) 13:37:35.72ID:pYhzyHuf
という妄想が始まった
わざわざwin32apiで叩いてきんもいプログラム作るなよ
C#で効率的なプログラミングを
0242デフォルトの名無しさん2014/08/27(水) 18:01:55.16ID:WVBb8eJH
Windows API Code Pack for Microsoft .NET Framework
http://blogs.msdn.com/b/windowssdk/archive/2009/06/12/windows-api-code-pack-for-microsoft-net-framework.aspx

これもう無いのか
0243デフォルトの名無しさん2014/08/27(水) 18:54:57.76ID:9wQXWUSl
nugetにあるよ
パッケージマネージャに縁のない人達
0244デフォルトの名無しさん2014/08/27(水) 20:29:09.88ID:pYhzyHuf
いつまでAPIつかって面倒くさいコーディングするんだよ・・・
0245デフォルトの名無しさん2014/08/27(水) 21:58:27.07ID:RqytrRPt
ntapiよりはマシ
0246デフォルトの名無しさん2014/08/28(木) 15:04:34.95ID:jOgRJ1W3
いまかいまかとAPI厨は質問を待ち構えてるよ
0247デフォルトの名無しさん2014/08/28(木) 15:06:15.54ID:0SG1ihpu
nugetにあるWindows API Code Packって一般個人がメンテしてんの?
0248デフォルトの名無しさん2014/08/29(金) 07:42:42.57ID:ZQUCiV5V
nugetから取ってきたDLLって、
ウイルス入ってる心配無いの?
0249デフォルトの名無しさん2014/08/29(金) 08:13:31.41ID:n0j14V44
黴菌が何か言ってやがる
0250デフォルトの名無しさん2014/08/29(金) 13:24:55.53ID:yVhE6NGy
そりゃ直接APIでぺちぺち叩いてるんだもの危ない危ない
0251デフォルトの名無しさん2014/08/29(金) 15:20:35.88ID:78rTFaRl
BASICでも使ってろ
0252デフォルトの名無しさん2014/08/29(金) 19:52:18.10ID:TWxk4Cnt
POKE &H1122,&H34
■ このスレッドは過去ログ倉庫に格納されています