Win32API質問箱 Build122 at TECH
Win32API質問箱 Build122 - 暇つぶし2ch950:デフォルトの名無しさん
16/10/02 17:17:41.77 2/1u9rrl.net
隠しAPIのDwmGetDxSharedSurface()ってGetDesktopWindow()のハンドル指定してもテクスチャ取得できないのかな?
例えばIEとかのハンドル指定すれば問題なくテクスチャ取得まで行けるんだが・・・

951:デフォルトの名無しさん
16/10/02 17:52:00.53 GX41vvMR.net
DwmGetDxSharedSurface(NULL)

952:デフォルトの名無しさん
16/10/06 08:03:39.04 2kYP0kDB.net
.NETは.NET Frameworkがいる上に起動が遅いのが難点
特に頻繁に起動・終了するツールの開発には向かない

953:デフォルトの名無しさん
16/10/06 08:13:43.59 y1wzqO45.net
20年近く前はそう言われてたな

954:デフォルトの名無しさん
16/10/06 08:44:16.97 LW7zvFbD.net
>>925
よお老害

955:デフォルトの名無しさん
16/10/06 09:53:11.69 BiGan9Dw.net
>>925
Windows Updateをきちんと適用していれば、.Net Frameworkはインストールされてるぞ。
もはや、インストーラーに含める必要もなくなった。
起動時間は、事前コンパイルしとけば大幅に改善される。

956:デフォルトの名無しさん
16/10/06 10:01:20.19 BiGan9Dw.net
>>928の起動時間は1回目のね
元々2回目以降の起動はコンパイル結果がキャッシュされてるからそんなに遅くない。

957:デフォルトの名無しさん
16/10/06 10:33:07.96 kdCvlbXg.net
なんで急にこんな話になったのか分からんが、とりま20年近くも歴史ないわ。
あと、.NETがうんこじゃなくなったのはWin8に搭載された4.5から。
ここ4年の話で、それ以前はクソ&クソ。

958:デフォルトの名無しさん
16/10/06 12:27:21.91 LW7zvFbD.net
>>930
具体的によろしく

959:デフォルトの名無しさん
16/10/06 12:53:11.51 +tO9yjwe.net
.NETの思想って、利用者の端末機に負担をかけない様に
サービス可能なサーバーに情報を渡して、答えを貰うんだった。
回線の高速化や端末機の普及で、ローカルホスト通信で済ませる様になり
現在に至っている。

もう少しマイクロソフトがIISに力を入れてくれれば
ローカルホスト通信を使わなくなるのだろうね。

960:デフォルトの名無しさん
16/10/06 19:11:09.40 2kYP0kDB.net
>>929
ネイティブなら一瞬で起動するようなアプリでも.NETだとNgen使っても体感できるレベルで(数百msec以上)待たされる
起動に数秒かかることが許される規模のアプリであれば.NETでもいいけど
インタプリタでも一瞬で終わるような処理を.NETで実装したら実行時間の無駄
Javaも同じ事が言えるけどね。動き出せば速いけど動くまでが遅い

これは2年ほど前に配布を考慮した気軽に使えるGUIツール開発プラットフォームを探した時に出た結論

961:デフォルトの名無しさん
16/10/06 21:06:40.44 JthKKgNo.net
ふーん
お宅の言う結論ってケツの穴の論理と大差なさそうだね

962:デフォルトの名無しさん
16/10/07 04:23:54.50 HwYDbl3n.net
もう新規案件をWin32ネイティブで開発することは少なくなったな
WTL/ATLを気に入ってよく使ってた

963:デフォルトの名無しさん
16/10/07 17:22:23.22 lKepYBPc.net
#include <ws2tcpip.h>
しても inet_pton が宣言されてねぇと叱られる('⊿`)

964:デフォルトの名無しさん
16/10/07 17:27:35.32 nw13XKq1.net
ユニコードビルドしてると使えないとか?もしくはInetPton

965:デフォルトの名無しさん
16/10/07 17:51:19.48 ah4nbj/y.net
#include <ws2tcpip>

966:デフォルトの名無しさん
16/10/07 19:03:39.31 lKepYBPc.net
お、反応してくれてありがとう

VC2015 Windows Kit 8.1 デフォルトのままUNICODE使用
#include <winsock2.h>
#include <ws2tcpip>
#include <ws2tcpip.h>
#include <arpa/inet.h>
統合環境のプロジェクトの外部依存関係にある ws2tcpip.h を開くと inet_pton InetPtonW 宣言部分はカラー表示されていて
#if で無効化されてる気配も無い けど
'inet_pton' 識別子が見つかりませんでした
x86 x64 Release Debug 全部
(ってのを最初に書けよって話だな すんません

コンパイラオプション /P でプリプロセス後の状態を見たら inet_pton InetPtonW 宣言部分は無かった

なんでやねんと思ったら

#if 0 //[
#include <windows.h>
  ・・・
#include <ws2tcpip.h> //ここに足してた
#else //][
#include <windows.h>
  ・・・
#endif //]

よそ様のコードの保守は大変ですな
外部依存関係 に表示しないで欲しいのですが

ごめんなさいごめんなさい 吊ってきます

967:デフォルトの名無しさん
16/10/08 12:28:41.20 0jaJMPXG.net
自分の無能をよそ様のせいにすんなボケ

968:デフォルトの名無しさん
16/10/08 12:34:16.03 0jaJMPXG.net
次です

Win32API質問箱 Build123
スレリンク(tech板)

969:デフォルトの名無しさん
16/10/11 16:41:23.69 WucPD6lR.net
縦書きのAPI(CreateFont、GetTextMetrics、GetGlyphOutline)で質問です。

CreateFont第三引数に回転値2700を設定後、
GetGlyphOutlineを使うとき、描画座標位置と、送り幅と送り高さの取得の値はどうなるのでしょうか?
フォントは、"@MS ゴシック"を使っています。

横書き通常だと下記のコードで問題なく値が取得できるのですが、縦書きだとうまく動作しません。
offsetX = gm.gmptGlyphOrigin.x;
offsetY = tm.tmAscent - gm.gmptGlyphOrigin.y;
nextWidth =gm.gmCellIncX;
nextHeight=tm.height;

CreateFont、GetTextMetrics、GetGlyphOutlineを使うコードは次のようにしています。何か設定がおかしいのでしょうか?
hFont = CreateFontW(100,50,2700,0,
FW_REGULAR,FALSE,FALSE,FALSE,SHIFTJIS_CHARSET,OUT_DEFAULT_PRECIS,CLIP_DEFAULT_PRECIS,
PROOF_QUALITY,FIXED_PITCH | FF_MODERN,L"@MS ゴシック");
oFont=(HFONT)SelectObject(hdc,hFont);
GetTextMetrics(hdc, &tm);
CONST MAT2 mat = { { 0,1 },{ 0,0 },{ 0,0 },{ 0,1 } };
GetGlyphOutlineW(hdc, wch, GGO_GRAY4_BITMAP, &gm, 0, NULL, &mat);

970:デフォルトの名無しさん
16/10/11 17:16:34.58 QeFd4z39.net
縦書きだとyが変わるんじゃね

971:デフォルトの名無しさん
16/10/11 18:16:44.11 WucPD6lR.net
フォントサイズ100で"あ"を出力した結果
横0/縦0/縦2700
gmBlackBoxX 90 80 80 *
gmBlackBoxY 80 90 90 *
gmptGlyphOriginX 5 13 -1 *
gmptGlyphOriginY 79 81 -5 *
gmCellIncX 10 100 0 *
gmCellIncY 0 0 100 *
tmHeight 100 100 104 *
tmAscent 86 86 88 *
tmDescent 14 14 16 *
tmInternalLeading 0 0 4 *
tmExternalLeading 0 0 0
tmAveCharWidth 50 50 50
tmMaxCharWidth 197 197 197
tmWeight 400 400 400
tmOverhang 0 0 0
tmDigitizedAspectX 96 96 96
tmDigitizedAspectY 96 96 96
tmItalic 0 0 0
tmUnderlined 0 0 0
tmStruckOut 0 0 0
tmPitchAndFamily 54 54 54
tmCharSet 128 128 128
横0は "MS ゴシック"  CreateFontの第三引数 0  
縦0は "@MS ゴシック" CreateFontの第三引数 0 
縦2700は "@MS ゴシック" CreateFontの第三引数 2700
APIは、ややっこしい出力してますねぇ。。
縦2700でTextOutすると右上が文字の原点に移動するっぽいのでそれ考慮して計算するのかなぁ。

972:デフォルトの名無しさん
16/10/11 20:10:04.56 fRcBIrce.net
>>928
きちんと無駄に.Netは更新しないようにしてるんだよなぁ…

973:デフォルトの名無しさん
16/10/12 11:31:26.15 Gd/C/AAX.net
>>943
縦2700だとtm,gmの概念がわからなかったので、縦0で縦フォント作ってから、画像を270度回転してtm,gm辻褄を合わせて描画したら安定。
XとYの概念が入れ替わって混乱した。

974:デフォルトの名無しさん
16/10/12 13:51:15.72 MITJcbWv.net
>>946
無理矢理つじつま合わせすると(例えば縦横の座標入れ替え)うまくいくのは90度単位の回転のみで、
45度とかの場合は破綻するでしょ。
943 の話はベースライン座標をを270度回転させて求めないとうまくいかないと思う。

975:デフォルトの名無しさん
16/10/12 14:20:20.43 CGbCriuU.net
>MSはこんなのまで用意してくれているからな
>URLリンク(github.com)
>低脳のおもりは大変だ

976:デフォルトの名無しさん
16/10/12 17:31:03.60 Gd/C/AAX.net
>>947
縦読みだけなら90度回転ベースの270度(上下左右入れ替えと、オフセット計算)で仕様は満たされますが、45度とか要求となると別途手間かかりそうですね。
文字列をテクスチャーとかに描画してから回転したほうが簡単そう。

977:デフォルトの名無しさん
16/10/12 17:33:12.25 aj5TKozK.net
ある対象ファイルが他アプリケーションから開かれている否かはどうやって知れますか?

978:デフォルトの名無しさん
16/10/12 17:39:22.99 NnJ6rK8J.net
enumprocess->openprocess->zwqueryobject

979:デフォルトの名無しさん
16/10/12 17:44:09.42 aj5TKozK.net
全プロセス舐めなきゃいけないんですか?

980:デフォルトの名無しさん
16/10/12 17:44:16.63 Gd/C/AAX.net
>>950
この編参考にならない?試してないけどな。

_fsopen(で _SH_DENYRWっていうオプションがあるっぽい
URLリンク(msdn.microsoft.com)

「アプリケーションからファイルの排他オープンが可能かどうかを確認する一番確実な方法は、そのファイルをオープンしてみることです」
と書かれてる
URLリンク(support.microsoft.com)

981:デフォルトの名無しさん
16/10/12 17:45:51.04 bqn+ql9d.net
Win32API質問箱 Build123
スレリンク(tech板)

982:デフォルトの名無しさん
16/10/12 17:47:37.52 bqn+ql9d.net
>>953
>お祝いに参加しましょう

なんだこれω

983:デフォルトの名無しさん
16/10/12 18:03:38.18 g+0wIc73.net
「お誕生日おめでとう」
なんだろうけど、ちょっと恥ずかしい

984:デフォルトの名無しさん
16/10/13 22:45:03.69 pWVjxgqB.net
VK_NUMPAD6とVK_RIGHTなどのキーが同じものとして扱われてしまうのですが
どうすれば使い分けられるのでしょうか

985:デフォルトの名無しさん
16/10/14 09:38:05.35 DLzZN/YU.net
>>957
NumLock ON/OFFは?

986:デフォルトの名無しさん
16/10/15 01:01:26.59 qV7dku2N.net
>>957
URLリンク(msdn.microsoft.com)(v=vs.85).aspx
extended keyの説明見てみ

987:デフォルトの名無しさん
16/10/15 18:25:43.89 NU1xJ4eI.net
>>958
やりましたけど、同じでした

>>959
なんかむずかしいすぎてついていけません。
KEYEVENTF_SCANCODEではなく
KEYEVENTF_EXTENDEDKEYを使うとか?
過去ログも検索で見ましたがむずかしいですね

988:デフォルトの名無しさん
16/10/21 17:44:09.25 KvD6T+Uq.net
コンソールをリサイズした状態でのバッファ表示についての質問です。

COORD wh = {80, 50};
SMALL_RECT area = {0, 0, 79, 49};
SetConsoleScreenBufferSize(GetStdHandle(-11), wh);
SetConsoleWindowInfo(GetStdHandle(-11), TRUE, &area);

で 80x50 のコンソールになるのですが、その後

CHAR_INFO b[50 * 80];
COORD p = {0, 0};
b[(0-79と0-49で行と列を計算)].Char.AsciiChar = '適当';
b[(上と同じ)].Attributes = 適当;
WriteConsoleOutputA(GetStdHandle(-11), b, wh, p, &area);
を何度か繰り返すと、25行以内(0-79と0-24の範囲)だけに書き込んでいるときは表示が正常なのですが、
26行以�


989:�(0-79と25-49の範囲)書き換えると訳の分からない表示になります。 ()の中は (y*80+x) みたいな計算をしています。 ScrollConsoleScreenBuffer(GetStdHandle(-11), &area, NULL, p, b); を入れると多少表示は変化するのですが、期待する結果にはなりませんでした。 何か勘違いしているのかも知れませんが、解決のお手伝いください。



990:デフォルトの名無しさん
16/10/21 19:21:16.29 zTYixhM/.net
>>961
bが自動変数で初期化されていないのでゴミデータが出力されているだけでは?

991:デフォルトの名無しさん
16/10/22 10:46:34.18 O48rD9qT.net
原因が判りました。
50行目以降のアドレスに書き込んでました。
50+n行目に書くとn行目の不特定な列に書き込まれるようです。

992:デフォルトの名無しさん
16/10/23 10:31:21.49 CGzeXgZh.net
馬鹿には無理

993:デフォルトの名無しさん
16/10/23 10:36:05.47 B3h+V7cB.net
>>964
自虐ネタ乙

994:デフォルトの名無しさん
16/10/23 13:06:59.50 Qt7KzQsX.net
>>965
ぐぬぬ

995:デフォルトの名無しさん
16/10/23 14:40:22.78 CpFScuJ1.net
OSのバージョンでビルド番号を調べるAPIはどれですか

996:デフォルトの名無しさん
16/10/23 14:50:12.71 Qt7KzQsX.net
>>967
普通にGetVersionExじゃあかんの?

997:デフォルトの名無しさん
16/10/23 14:54:32.90 CGzeXgZh.net
>>968
最近のOSだと使わない方が良いみたいね

998:デフォルトの名無しさん
16/10/23 21:07:47.59 GtfQU5YV.net
取得はその関数で構造体の変数値を直接比較せず専用関数使えってことでしょ

999:デフォルトの名無しさん
16/10/24 09:04:03.53 fQGKWk+u.net
比較しないでただ取得するだけならそれでいいんじゃね

1000:デフォルトの名無しさん
16/10/24 10:32:35.70 9xygNeDa.net
>>969
manifestを書くと解決するらしいが非推奨

1001:デフォルトの名無しさん
16/10/24 10:53:15.41 RAJtJMqi.net
manifest書いた上でVerifyVersionInfo

1002:デフォルトの名無しさん
16/10/28 06:29:16.08 iv1fMup0.net
今はWin32_OperatingSystem一択

1003:デフォルトの名無しさん
16/10/28 20:48:37.18 71rg+6zF.net
>>974
WMIは初回が遅すぎるんだよなぁ。

1004:デフォルトの名無しさん
16/10/28 21:04:02.29 ceXQtcCi.net
WMIってヘルプが嘘多いのとバージョンアップで変わってるから困る

1005:デフォルトの名無しさん
16/11/02 02:06:35.91 stLp85Rp.net
virtualallocってディスクに予約、確保するの?

1006:デフォルトの名無しさん
16/11/02 03:29:42.91 ttxNZg5R.net
足りないときにやってくれるだけで毎回ディスク使う訳じゃない

1007:デフォルトの名無しさん
16/11/03 17:15:22.49 M9JiIIXY.net
このスレでは興味薄そうだけど

URLリンク(github.com)
これが最初から欲しかった
URLリンク(github.com)
CXの言語仕様策定した連中は無能すぎ

1008:デフォルトの名無しさん
16/11/03 18:06:39.24 KRq5Cur1.net
うんいらない

1009:デフォルトの名無しさん
16/11/03 18:21:49.22 jnPNi8zj.net
> 978
ご苦労であった
下がってよいぞ

1010:sage
16/11/03 19:20:32.95 AWrr+PAw.net
URLリンク(www.youtube.com)

URLリンク(www.youtube.com)

1011:デフォルトの名無しさん
16/11/03 19:24:45.18 KRq5Cur1.net
梅津

1012:デフォルトの名無しさん
16/11/03 19:29:23.50 Vul1aP3I.net
RTってwin32apiの後継?

1013:デフォルトの名無しさん
16/11/03 19:29:39.16 KRq5Cur1.net
全然別物

1014:デフォルトの名無しさん
16/11/03 19:31:46.62 KRq5Cur1.net
Win32
スレリンク(tech板)

WinRT
スレリンク(tech板)

1015:デフォルトの名無しさん
16/11/03 19:33:14.02 Vul1aP3I.net
>>985
じゃあ、なんでここに書き込むの?

1016:デフォルトの名無しさん
16/11/03 19:33:50.89 iYejUQc8.net
IE11 と Edge が同じか?って聞かれたら
ほとんどのひとが違う�


1017:ニ答えるだろ そのくらい違う



1018:デフォルトの名無しさん
16/11/03 19:35:10.91 KRq5Cur1.net
へ?

1019:デフォルトの名無しさん
16/11/04 02:08:02.90 wTo+5XZe.net
いい加減こっち埋めろよ

1020:デフォルトの名無しさん
16/11/04 03:27:27.88 e0uuer+h.net
ふんわりパンク

1021:デフォルトの名無しさん
16/11/04 04:37:04.72 UUBafTaz.net
うめ

1022:デフォルトの名無しさん
16/11/04 05:07:13.26 gpXDTSEe.net
edge ω

1023:デフォルトの名無しさん
16/11/04 07:55:58.21 aR9Unpf6.net


1024:デフォルトの名無しさん
16/11/04 10:23:48.39 eeUHQUQt.net
なぜ sprintf はあるのに sgets が無いのですか?

1025:デフォルトの名無しさん
16/11/04 10:28:47.54 e0uuer+h.net
int readnum = sscanf(src, "%*[^\n]", maxnum, dst);
だったかな
うろ覚え

1026:デフォルトの名無しさん
16/11/04 11:17:17.84 gpXDTSEe.net
これか
URLリンク(www.kijineko.co.jp)
もう忘れた

1027:デフォルトの名無しさん
16/11/04 17:32:12.45 xcPL+uad.net
フォームタイトル左のアイコンを消すAPI教えて下さい。
ちなみに、タイトル右のアイコン化等のボタンは表示したままでお願いします

1028:デフォルトの名無しさん
16/11/04 19:46:41.00 K7hL1M31.net
うめたて

1029:デフォルトの名無しさん
16/11/04 19:59:11.56 22qUZxEG.net
こんにちは

1030:デフォルトの名無しさん
16/11/04 19:59:39.65 22qUZxEG.net
さようなら

1031:過去ログ ★
[過去ログ]
■ このスレッドは過去ログ倉庫に格納されています


最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch