Win32APIについての質問はこちらへどうぞ。
■注意
・質問する前にMSDNライブラリやPlatformSDK、Google等で検索しましょう。
・日本語版MSDN Online Libraryは不完全です。
英語版( http://msdn.microsoft.com/en-us/library/ )の利用推奨。
・APIフックなど高度な事をしたい場合はできるだけAdvenced Windowsを読みましょう。
・言語特有の問題やIDE、MFCやVCLなどの質問はそれぞれの言語や開発環境スレで
■過去スレ
Win32API質問箱 Build123
http://mevius.2ch.net/test/read.cgi/tech/1475897582/
Win32API質問箱 Build122
http://echo.2ch.net/test/read.cgi/tech/1451988219/
Win32API質問箱 Build121
http://echo.2ch.net/test/read.cgi/tech/1438695290/
Win32API質問箱 Build120
http://echo.2ch.net/test/read.cgi/tech/1428570962/
■関連スレ
Visual Studio 2017 Part4
http://mevius.2ch.net/test/read.cgi/tech/1509244956/
【C++】 DirectX初心者質問スレ Part40 【C】
http://mevius.2ch.net/test/read.cgi/tech/1474782237/
探検
Win32API質問箱 Build124
■ このスレッドは過去ログ倉庫に格納されています
2017/11/11(土) 19:23:00.69ID:TpLoCFAx
487さまよえる蟻人間 ◆T6xkBnTXz7B0
2018/07/17(火) 11:31:49.15ID:iiy4NiaP pdfium
488さまよえる蟻人間 ◆T6xkBnTXz7B0
2018/07/17(火) 11:36:41.73ID:iiy4NiaP ごめん、pdfiumは表示ができるけどPDF作成はできないんだった。
489デフォルトの名無しさん
2018/07/17(火) 14:53:09.38ID:+kxKOOfA HDC って描いてるからダメなんだろうけど
win32api じゃなくて良ければ
matplotlib の dll
win32api じゃなくて良ければ
matplotlib の dll
490デフォルトの名無しさん
2018/07/17(火) 15:02:10.66ID:Zb0J/52v >>486
いっそpdfを自分でゴリゴリ作るライブラリを作って公開しよう
いっそpdfを自分でゴリゴリ作るライブラリを作って公開しよう
491デフォルトの名無しさん
2018/07/17(火) 19:29:45.08ID:8vhfTmzU PDFつくるの割と簡単だからな。読むのは難しいが
492さまよえる蟻人間 ◆T6xkBnTXz7B0
2018/07/17(火) 21:32:24.00ID:o/CsZXJt PDFは、Win32APIの範疇じゃないから、HDCにこだわる必要はないと思う。
どうしてもHDCで描くなら、ビットマップを使うことになる。
どうしてもHDCで描くなら、ビットマップを使うことになる。
493デフォルトの名無しさん
2018/07/17(火) 21:46:38.93ID:zCwWixNA494デフォルトの名無しさん
2018/07/17(火) 23:12:07.09ID:Zb0J/52v どうしてもHDCからデータを取る必要があるのなら、pdfじゃなくてemfはダメなの
495486
2018/07/18(水) 09:13:26.55ID:b6TTATjh やっぱりこういうライブラリは無いものなんですかね。
プリンタのHDCに対する印刷処理は実装済みで、
普通にAcrobatなどを選んで印刷すればPDFは作成できるので、
PDF作成用のHDCさえ作れれば、Acrobatなどに依存せずに、
今の処理でPDFを作成できるんじゃないかと思った次第です。
もちろん、プリンタのHDCに描画する処理とは別に、
PDFを作成する処理を新たに作れば可能なんでしょうけど、
今の印刷結果と一致させるもの大変そうだと思いました。
プリンタのHDCに対する印刷処理は実装済みで、
普通にAcrobatなどを選んで印刷すればPDFは作成できるので、
PDF作成用のHDCさえ作れれば、Acrobatなどに依存せずに、
今の処理でPDFを作成できるんじゃないかと思った次第です。
もちろん、プリンタのHDCに描画する処理とは別に、
PDFを作成する処理を新たに作れば可能なんでしょうけど、
今の印刷結果と一致させるもの大変そうだと思いました。
496デフォルトの名無しさん
2018/07/18(水) 09:30:56.80ID:XytxFrpz HDC→bmp→手書きPDFの調子で画像埋め込みpdf生成
これで終わり。1日あればできるでしょw
これで終わり。1日あればできるでしょw
497デフォルトの名無しさん
2018/07/18(水) 09:32:44.92ID:b6TTATjh498デフォルトの名無しさん
2018/07/18(水) 10:32:30.08ID:w8OpeSfX >>469
じゃぁそう書けばいいじゃん
じゃぁそう書けばいいじゃん
499デフォルトの名無しさん
2018/07/18(水) 10:35:38.58ID:w8OpeSfX500デフォルトの名無しさん
2018/07/18(水) 10:49:35.82ID:XytxFrpz HDCをDLLから作れないと思う。プリンタドライバ入れないと無理じゃないかな
それでもプリンタドライバを入れたくない&HDC使いたいってなら、手書きPDFしかないと思う
HDC使う処理を全てフックして手書きPDF処理に渡して生成
フォントは埋め込めるし、当然座標指定もできるから見た目を合わせるのは難しいことじゃない
それでもプリンタドライバを入れたくない&HDC使いたいってなら、手書きPDFしかないと思う
HDC使う処理を全てフックして手書きPDF処理に渡して生成
フォントは埋め込めるし、当然座標指定もできるから見た目を合わせるのは難しいことじゃない
501さまよえる蟻人間 ◆T6xkBnTXz7B0
2018/07/18(水) 11:39:33.38ID:2uaoDzyj502デフォルトの名無しさん
2018/07/18(水) 17:17:05.71ID:r2tNZQmN EMFがPDFになってもうれしくないんだよな
503デフォルトの名無しさん
2018/07/18(水) 19:00:09.03ID:1yGq4zZr 嬉しいとか悲しいという感情はしまい込め
504さまよえる蟻人間 ◆T6xkBnTXz7B0
2018/07/18(水) 19:44:08.79ID:IL3iPWys EM_DOCUMENT_AddPageFromMetaHandleというメソッドがあるみたいだから試してみては。
$4995-が高いかどうかは自分で考えな。
https://github.com/sybrexsys/VersyPDF
というものもある。
$4995-が高いかどうかは自分で考えな。
https://github.com/sybrexsys/VersyPDF
というものもある。
505さまよえる蟻人間 ◆T6xkBnTXz7B0
2018/07/18(水) 21:34:56.01ID:2uaoDzyj プロプロイエタリっぽいな。日本人にはまだ未踏の分野みたいだ。
506デフォルトの名無しさん
2018/07/21(土) 18:28:47.97ID:TBQGTmI1 IE(11)のタブってspy++で見ると、タブコントロールじゃないように見えるけど
これ自前かな?
タブの入れ替えの時も、タブがするすると動いて入れ替わる動作だし
これってタブコントロールだと無理だよね?
基本的に、IE,Edge,Chrome,Firefox,Opera,Vivaldi等のブラウザのタブって
タブコントロールじゃなくて、自前で描画しているのかな?
これ自前かな?
タブの入れ替えの時も、タブがするすると動いて入れ替わる動作だし
これってタブコントロールだと無理だよね?
基本的に、IE,Edge,Chrome,Firefox,Opera,Vivaldi等のブラウザのタブって
タブコントロールじゃなくて、自前で描画しているのかな?
507デフォルトの名無しさん
2018/07/21(土) 22:53:51.14ID:diLgD0pr 基本的に自前だよ
508デフォルトの名無しさん
2018/07/22(日) 17:11:05.29ID:0LoJ4eZK char *p = "hello";
を書くと、「型 const char * の値を使用して型 char * のエンティティを初期化することはできません 」
と表示されるんだが、どうすればいいんだ?
CQ出版社の『Win32 API完璧マスタ』189ページにも書いてある構文なのに・・・
を書くと、「型 const char * の値を使用して型 char * のエンティティを初期化することはできません 」
と表示されるんだが、どうすればいいんだ?
CQ出版社の『Win32 API完璧マスタ』189ページにも書いてある構文なのに・・・
509デフォルトの名無しさん
2018/07/22(日) 17:13:16.23ID:Xbb1Ck+x スレタイ
510デフォルトの名無しさん
2018/07/22(日) 17:14:28.87ID:LiIRy0eu char q[] = "hello";
char *p = q;
char *p = q;
511デフォルトの名無しさん
2018/07/22(日) 17:14:46.72ID:V5NblbDe そんなのはCスレで聞けよ
char p[] = "hello";
char p[] = "hello";
512デフォルトの名無しさん
2018/07/22(日) 17:15:10.69ID:LiIRy0eu こうか
char q[] = "hello";
char *p = (char *)q;
char q[] = "hello";
char *p = (char *)q;
513デフォルトの名無しさん
2018/07/22(日) 17:20:17.81ID:0LoJ4eZK これをTextOutしたいんだが・・・
TextOut(hdc,10,10, p, strlen(p) );
と書いてもエラーになってしまうし、
pをqに変えてもエラーが出る
TextOut(hdc,10,10, p, strlen(p) );
と書いてもエラーになってしまうし、
pをqに変えてもエラーが出る
514デフォルトの名無しさん
2018/07/22(日) 17:26:49.45ID:0LoJ4eZK >>513
「型 char * の引数は型 LPCWSFR のパラーメータと互換性がありません
BOOL TextOutW(HDC,int,intLPCWSTR,)int: 引数 4 を char[6] から LPCWSTR へ変換できません。」
って出てしまう。
CQ出版社の本には、
「TextOut(ps.hdc,10,10, p, strlen(p) ); 」って書いてあるのに。
「型 char * の引数は型 LPCWSFR のパラーメータと互換性がありません
BOOL TextOutW(HDC,int,intLPCWSTR,)int: 引数 4 を char[6] から LPCWSTR へ変換できません。」
って出てしまう。
CQ出版社の本には、
「TextOut(ps.hdc,10,10, p, strlen(p) ); 」って書いてあるのに。
515デフォルトの名無しさん
2018/07/22(日) 17:27:01.83ID:+kDBWEhy >>513
>508のエラーなのか TextOut のエラーなのか
>508のエラーなのか TextOut のエラーなのか
516デフォルトの名無しさん
2018/07/22(日) 17:29:03.13ID:+kDBWEhy あー、面倒なので正確には調べないが、文字コードセットかソースファイルのコードを調べて
全部マルチバイト文字にでも統一すれ
全部マルチバイト文字にでも統一すれ
517デフォルトの名無しさん
2018/07/22(日) 17:30:27.51ID:V5NblbDe コンパイラのオプションでユニコードを使うを無効化しろ
もしくはTCHARとかTextOutWとかTextOutAとかその辺でぐぐれ
もしくはTCHARとかTextOutWとかTextOutAとかその辺でぐぐれ
518デフォルトの名無しさん
2018/07/22(日) 17:33:51.95ID:0LoJ4eZK >>515
TextOutの際に、いちいち
TextOut(hdc, 10, 10, TEXT("hello"), 5);
と文字列と字数を毎回入力したくないし、
表示文字を"good morning"とか "good bye" とか違う字数の文字列にも置き換えたいんだ。
だから、変数を使って文字列をpとかqとかに置き換えたいんだけど、そこで
型 char * の引数は型 LPCWSFR のパラーメータと互換性がありません 」
とかのエラーが出てしまう。
TextOutの際に、いちいち
TextOut(hdc, 10, 10, TEXT("hello"), 5);
と文字列と字数を毎回入力したくないし、
表示文字を"good morning"とか "good bye" とか違う字数の文字列にも置き換えたいんだ。
だから、変数を使って文字列をpとかqとかに置き換えたいんだけど、そこで
型 char * の引数は型 LPCWSFR のパラーメータと互換性がありません 」
とかのエラーが出てしまう。
519デフォルトの名無しさん
2018/07/22(日) 17:36:00.67ID:V5NblbDe charは1バイト文字の型
LPCWSTRは2バイト文字の型
ものが違うんだよ
ってかwin32の本ならそのくらい書いてあるだろ。もし書いてないならゴミだから捨てろw
LPCWSTRは2バイト文字の型
ものが違うんだよ
ってかwin32の本ならそのくらい書いてあるだろ。もし書いてないならゴミだから捨てろw
520デフォルトの名無しさん
2018/07/22(日) 17:38:56.62ID:2bRdLxLs TCHAR p[] = TEXT("hello");
TextOut(hdc, 10, 10, p ,lstrlen(p));
TextOut(hdc, 10, 10, p ,lstrlen(p));
521デフォルトの名無しさん
2018/07/22(日) 17:45:11.99ID:2bRdLxLs >>518
後から文字列を変更するのであれば、初期化の時に配列の要素数に注意
#define MAX_LENGTH 256; // 要素数に注意
TCHAR p[MAX_LENGTH] = TEXT("hello");
後から文字列を変更するのであれば、初期化の時に配列の要素数に注意
#define MAX_LENGTH 256; // 要素数に注意
TCHAR p[MAX_LENGTH] = TEXT("hello");
522デフォルトの名無しさん
2018/07/22(日) 17:55:50.38ID:SZ8yn981523デフォルトの名無しさん
2018/07/22(日) 18:02:40.99ID:0LoJ4eZK 「TCHAR p[MAX_LENGTH] = TEXT("hello");」
で「式が必要です」ってエラーが出てしまうし。
「TCHAR p[256] = TEXT("hello");」って直接に数値指定するとエラーメッセージが消えるから、
なんかdefineが働いてないっぽい
で「式が必要です」ってエラーが出てしまうし。
「TCHAR p[256] = TEXT("hello");」って直接に数値指定するとエラーメッセージが消えるから、
なんかdefineが働いてないっぽい
524デフォルトの名無しさん
2018/07/22(日) 18:09:58.01ID:lnBo9wWY >>521
「256」の後の「;」は不要
「256」の後の「;」は不要
525デフォルトの名無しさん
2018/07/22(日) 18:17:18.42ID:2bRdLxLs >>523
すまんね
流石に気付くだろうと思って黙ってたけど、define文の末尾にうっかり余計なセミコロン付けてしまっているので注意してね
とりあえずいまどきの環境なら、charはTCHAR、char *はLPTSTR、const char *はLPCTSTRを使い、リテラルはTEXTマクロで囲って
文字列操作関数はl付きの関数strlenならlstrlen、strcpyならlstrcmpなどに置き換えればほとんど問題はないよ
すまんね
流石に気付くだろうと思って黙ってたけど、define文の末尾にうっかり余計なセミコロン付けてしまっているので注意してね
とりあえずいまどきの環境なら、charはTCHAR、char *はLPTSTR、const char *はLPCTSTRを使い、リテラルはTEXTマクロで囲って
文字列操作関数はl付きの関数strlenならlstrlen、strcpyならlstrcmpなどに置き換えればほとんど問題はないよ
526デフォルトの名無しさん
2018/07/22(日) 18:18:05.39ID:2bRdLxLs 被った、
指摘ありがとう>>524
指摘ありがとう>>524
527デフォルトの名無しさん
2018/07/22(日) 18:19:49.25ID:0LoJ4eZK いろいろと教えてもらい、スレの皆様、ありがとうございます。
自分、最終的にゲームっぽいのを作りたくって、
それで会話メッセージが何百個もあるから、どうしても文字列を変数にする必要があるんです。
エラーコード↓です。
「
TCHAR p[256] = TEXT("hello");
TextOut(hdc, 10, 10, p, lstrlen(p));
p = TEXT("good morning");
TextOut(hdc, 30, 30, p, lstrlen(p));
」
こんな感じで、1つのpを使いまわしたいんです。
strcpyかとも思ったんですけど、「strcpy(p, TEXT("good morning") );」でも
「char*のパラメーターと互換性がありません」ってエラーが出て、なんか違いそうだし・・・
ググッても、Win32APIで1つの文字列変数を複数の文字列に何度も書き換える事例が見つからなくて、困ってます。
自分、最終的にゲームっぽいのを作りたくって、
それで会話メッセージが何百個もあるから、どうしても文字列を変数にする必要があるんです。
エラーコード↓です。
「
TCHAR p[256] = TEXT("hello");
TextOut(hdc, 10, 10, p, lstrlen(p));
p = TEXT("good morning");
TextOut(hdc, 30, 30, p, lstrlen(p));
」
こんな感じで、1つのpを使いまわしたいんです。
strcpyかとも思ったんですけど、「strcpy(p, TEXT("good morning") );」でも
「char*のパラメーターと互換性がありません」ってエラーが出て、なんか違いそうだし・・・
ググッても、Win32APIで1つの文字列変数を複数の文字列に何度も書き換える事例が見つからなくて、困ってます。
528デフォルトの名無しさん
2018/07/22(日) 18:20:26.15ID:2bRdLxLs >>525でstrcpyとstrcmpがごっちゃになってた、訂正
529デフォルトの名無しさん
2018/07/22(日) 18:20:35.42ID:V5NblbDe >>522
でもなこのレベルだとstrcpyすらできずに詰むぞw
でもなこのレベルだとstrcpyすらできずに詰むぞw
530デフォルトの名無しさん
2018/07/22(日) 18:24:33.44ID:2bRdLxLs >>527
多分 lstrcpy でいける
多分 lstrcpy でいける
>>527
私なら(char *) にキャストしてしまいますね…これは悪手ですが
私なら(char *) にキャストしてしまいますね…これは悪手ですが
532デフォルトの名無しさん
2018/07/22(日) 18:26:33.56ID:0LoJ4eZK 解決しました!こうですね
「
TCHAR p[MAX_LENGTH] = TEXT("hello");
TextOut(hdc, 10, 10, p, lstrlen(p));
lstrcpy(p, TEXT("good morning") );
TextOut(hdc, 30, 30, p, lstrlen(p));
」
じぶん "lstrcpy" の存在を知りませんでした。
買ってたCQ出版社の本が2001年の本で古くって、
それで、ここら辺の話題が見当たらなくって、地元書店にWin32APIの本が無くって、
困ってました。月曜日に、銀行からカネを引き出して、都会の本屋に買い物に行こうかと思ってたところです。
質問に回答してくださった皆様、ありがとうございます。
「
TCHAR p[MAX_LENGTH] = TEXT("hello");
TextOut(hdc, 10, 10, p, lstrlen(p));
lstrcpy(p, TEXT("good morning") );
TextOut(hdc, 30, 30, p, lstrlen(p));
」
じぶん "lstrcpy" の存在を知りませんでした。
買ってたCQ出版社の本が2001年の本で古くって、
それで、ここら辺の話題が見当たらなくって、地元書店にWin32APIの本が無くって、
困ってました。月曜日に、銀行からカネを引き出して、都会の本屋に買い物に行こうかと思ってたところです。
質問に回答してくださった皆様、ありがとうございます。
533デフォルトの名無しさん
2018/07/22(日) 18:26:39.79ID:lnBo9wWY534デフォルトの名無しさん
2018/07/22(日) 18:36:11.82ID:2bRdLxLs >>533
LPTSTRなら可能だけどLPCTSTRだと無理じゃないかな
LPTSTRなら可能だけどLPCTSTRだと無理じゃないかな
535デフォルトの名無しさん
2018/07/22(日) 18:57:59.75ID:Xbb1Ck+x なぜ?
536デフォルトの名無しさん
2018/07/22(日) 19:17:54.18ID:LiIRy0eu537デフォルトの名無しさん
2018/07/22(日) 19:47:40.34ID:lnBo9wWY >>534
無理と決め付ける前に、まずは試してみるべきじゃないかな。
無理と決め付ける前に、まずは試してみるべきじゃないかな。
538デフォルトの名無しさん
2018/07/22(日) 19:49:56.11ID:Rc8bc+T5 >>507
やっぱり自前ですか。
ベースにコモンコントロールのタブコントロール使ってるかと思ったら
どのブラウザも完全にオリジナルのタブコントロールを作ってる
みたいなんですよね。
これだけで一仕事だ、せめて手を抜く方法が無いものか。
やっぱり自前ですか。
ベースにコモンコントロールのタブコントロール使ってるかと思ったら
どのブラウザも完全にオリジナルのタブコントロールを作ってる
みたいなんですよね。
これだけで一仕事だ、せめて手を抜く方法が無いものか。
539デフォルトの名無しさん
2018/07/22(日) 20:07:22.02ID:V5NblbDe コモンコントロールでつくりゃいい
何も真似することないでしょ
何も真似することないでしょ
540デフォルトの名無しさん
2018/07/25(水) 12:14:32.39ID:ObNghvXR >>508
レスをつけてたここの住人はある意味、意地悪だなw
508よ、VS2017とか使ってるなら、プロジェクトのプロパティから、
構成プロパティ -> C/C++ -> 言語 の画面に、準拠モードという項目があるので、準拠モードをオフにしてみろ。
コンパイラが悪さしているだけだw
たとえば、準拠モードONだとこのコードは、こんなエラーになる。オフなら無事コンパイルできる。
#include <stdio.h>
int main(){
char *p = "hoge\n";
printf(p);
return 0;
}
1>------ ビルド開始: プロジェクト: test0001, 構成: Debug Win32 ------
1>test0001.cpp
1>d:\test0001\test0001\test0001.cpp(3): error C2440: '初期化中': 'const char [6]' から 'char *' に変換できません。
1>d:\test0001\test0001\test0001.cpp(3): note: 文字列リテラルからの変換では const 修飾子が失われます (/Zc:strictStrings を参照)
1>プロジェクト "test0001.vcxproj" のビルドが終了しました -- 失敗。
========== ビルド: 0 正常終了、1 失敗、0 更新不要、0 スキップ ==========
レスをつけてたここの住人はある意味、意地悪だなw
508よ、VS2017とか使ってるなら、プロジェクトのプロパティから、
構成プロパティ -> C/C++ -> 言語 の画面に、準拠モードという項目があるので、準拠モードをオフにしてみろ。
コンパイラが悪さしているだけだw
たとえば、準拠モードONだとこのコードは、こんなエラーになる。オフなら無事コンパイルできる。
#include <stdio.h>
int main(){
char *p = "hoge\n";
printf(p);
return 0;
}
1>------ ビルド開始: プロジェクト: test0001, 構成: Debug Win32 ------
1>test0001.cpp
1>d:\test0001\test0001\test0001.cpp(3): error C2440: '初期化中': 'const char [6]' から 'char *' に変換できません。
1>d:\test0001\test0001\test0001.cpp(3): note: 文字列リテラルからの変換では const 修飾子が失われます (/Zc:strictStrings を参照)
1>プロジェクト "test0001.vcxproj" のビルドが終了しました -- 失敗。
========== ビルド: 0 正常終了、1 失敗、0 更新不要、0 スキップ ==========
541デフォルトの名無しさん
2018/07/25(水) 12:16:39.87ID:SfO6vmHU >コンパイラが悪さ
最低だなこいつ
最低だなこいつ
542540
2018/07/25(水) 12:19:48.04ID:ObNghvXR マルチバイト文字の設定しろって書き忘れた。
構成プロパティ -> 全般 -> 文字セット
マルチバイト文字セットを使用する
の項目をセットしておけ。
古い本ベースで作るならそっちで十分だ。
慣れて来たらunicode文字セットにしてwchar_tとか使えばいいよ。
構成プロパティ -> 全般 -> 文字セット
マルチバイト文字セットを使用する
の項目をセットしておけ。
古い本ベースで作るならそっちで十分だ。
慣れて来たらunicode文字セットにしてwchar_tとか使えばいいよ。
543デフォルトの名無しさん
2018/07/25(水) 12:21:31.72ID:ObNghvXR544デフォルトの名無しさん
2018/07/25(水) 12:42:55.89ID:BhmZZaV3 コンパイラとか言う野郎最悪だな
そんなもんに頼むなよ
そんなもんに頼むなよ
545デフォルトの名無しさん
2018/07/25(水) 13:07:44.22ID:yh3zla7+ だな
ハンドアセンブルとかハンドコンパイルしろ
ハンドアセンブルとかハンドコンパイルしろ
546デフォルトの名無しさん
2018/07/25(水) 13:11:46.60ID:ufwVuEFI547デフォルトの名無しさん
2018/07/25(水) 13:15:34.98ID:bHme1j3N >>542
意地悪も何も、そのレスをとっくにしとるんだが
意地悪も何も、そのレスをとっくにしとるんだが
549デフォルトの名無しさん
2018/08/06(月) 21:23:32.62ID:CcPxoO2Y 成功した時に返り値が0になることがあるのに、失敗したら0を返しますとか言ってるAPIって何なんだよクソ野郎め
550デフォルトの名無しさん
2018/08/06(月) 21:32:35.68ID:1U9qnNco getlasterror
551デフォルトの名無しさん
2018/08/06(月) 21:52:26.61ID:ID4O2Vgr もちろんそんなの知ってるけど、GoがWindows API用に生成してくれるコードが返り値をチェックしちゃっててしばらくハマった
552デフォルトの名無しさん
2018/08/06(月) 23:33:15.82ID:rktgM2el >成功した時に返り値が0になることがあるのに、失敗したら0を返しますとか言ってるAPI
ちなみにどのAPI?
ちなみにどのAPI?
553デフォルトの名無しさん
2018/08/06(月) 23:58:21.60ID:ID4O2Vgr GetClassLongPtrとか
554デフォルトの名無しさん
2018/08/07(火) 00:48:58.54ID:QZJ4WUVF Goがクソなだけじゃん
リファレンス読んでコード生成しろよバーカ
リファレンス読んでコード生成しろよバーカ
555デフォルトの名無しさん
2018/08/07(火) 05:00:55.97ID:OlmXtX1U556デフォルトの名無しさん
2018/08/07(火) 13:27:12.44ID:ldpX++7o557デフォルトの名無しさん
2018/08/07(火) 14:31:10.43ID:AJOeK/rw >関数が失敗すると、0 が返ります。拡張エラー情報を取得するには、 関数を使います。
これな
これな
558デフォルトの名無しさん
2018/08/07(火) 21:06:57.68ID:BoePinTI559デフォルトの名無しさん
2018/08/07(火) 21:15:30.99ID:vzugDPjm >>554-555
>リファレンス読んでコード生成しろよバーカ
>失敗が返って来たときは関数を呼びます
しばしば、動詞の主語がないせいで誰が対象なのか、わからないことが多い。
バカなのは誰なのか。
関数を呼ぶのは誰なのか、関数が関数を勝手に呼んでくれるのか。
的な。
>リファレンス読んでコード生成しろよバーカ
>失敗が返って来たときは関数を呼びます
しばしば、動詞の主語がないせいで誰が対象なのか、わからないことが多い。
バカなのは誰なのか。
関数を呼ぶのは誰なのか、関数が関数を勝手に呼んでくれるのか。
的な。
560デフォルトの名無しさん
2018/08/07(火) 21:19:02.18ID:+HmVRhEr 馬鹿なのは読み手に決まってるだろww
561デフォルトの名無しさん
2018/08/07(火) 23:23:50.41ID:ca/GX3OS まさかと思うけど英語読めないとか?
戻り値
関数が成功すると、要求した値が返ります。
関数が失敗すると、0 が返ります。拡張エラー情報を取得するには、 関数を使います。
https://msdn.microsoft.com/ja-jp/library/cc364638.aspx
Return value
Type: ULONG_PTR
If the function succeeds, the return value is the requested value.
If the function fails, the return value is zero. To get extended error information, call GetLastError.
https://msdn.microsoft.com/ja-jp/library/windows/desktop/ms633581(v=vs.85).aspx
戻り値
関数が成功すると、要求した値が返ります。
関数が失敗すると、0 が返ります。拡張エラー情報を取得するには、 関数を使います。
https://msdn.microsoft.com/ja-jp/library/cc364638.aspx
Return value
Type: ULONG_PTR
If the function succeeds, the return value is the requested value.
If the function fails, the return value is zero. To get extended error information, call GetLastError.
https://msdn.microsoft.com/ja-jp/library/windows/desktop/ms633581(v=vs.85).aspx
562デフォルトの名無しさん
2018/08/07(火) 23:39:40.91ID:95G7jtf/ 訳が全然ちげぇ、ってネタだろ。
563デフォルトの名無しさん
2018/08/07(火) 23:44:38.95ID:JmB8aria う〜ん
実に使いにくい
実に使いにくい
564さまよえる蟻人間 ◆T6xkBnTXz7B0
2018/08/07(火) 23:55:05.37ID:p+v0mQmH ダークサイドの貧乏マは、インターネットのどこかにWin*2 Pr*gramm*rs' Refer*nceというヘルプファイルがあるから、別に。。。まあ、できる奴はサプスクリプションをイッチャッテ。
565デフォルトの名無しさん
2018/08/08(水) 04:44:16.55ID:XhOfYtOw566デフォルトの名無しさん
2018/08/08(水) 05:30:57.38ID:pP5XdYnX567デフォルトの名無しさん
2018/08/08(水) 07:00:27.96ID:EhLv0UZk もう慣れたわ
568デフォルトの名無しさん
2018/08/08(水) 08:05:04.95ID:ApshsMT9 GetClassLongPtrのように値だけ返すやつは、失敗時ややこしいってのはAPIに限ったことじゃなく関数作ったことあればだれでも知ってること
MSDNの日本語ページはの罠は無数にあるから少しでもWindowsプログラミングしたことあれば英語ページ見ることになる
どっちも超初心者じゃないとひっかからない罠
昨日のニュース
日本国内でのプログラミング言語別の年収ランキング、中央値1位は「Go」
http://www.itmedia.co.jp/news/articles/1808/07/news087.html
MSDNの日本語ページはの罠は無数にあるから少しでもWindowsプログラミングしたことあれば英語ページ見ることになる
どっちも超初心者じゃないとひっかからない罠
昨日のニュース
日本国内でのプログラミング言語別の年収ランキング、中央値1位は「Go」
http://www.itmedia.co.jp/news/articles/1808/07/news087.html
569デフォルトの名無しさん
2018/08/08(水) 16:43:15.25ID:QemCzjVB >>566
それを訳がひどいって言うんだよ
それを訳がひどいって言うんだよ
570デフォルトの名無しさん
2018/08/08(水) 16:56:08.84ID:T8cc5IXv みんな間抜けなんでマジレスするけど、SetLastError(0)でクリアしてから呼ばないと、成功したのか失敗したのかわからん仕様です。
571デフォルトの名無しさん
2018/08/08(水) 17:43:49.45ID:jbuaovom572デフォルトの名無しさん
2018/08/08(水) 19:26:41.46ID:9aI0uHWQ ぬるぽ
573デフォルトの名無しさん
2018/08/11(土) 00:27:06.52ID:MXmSxQHh >>566
これを見るたびに何でどうしたらこんなことになるのかと考え込んで作業が中断してしまうのだ
これを見るたびに何でどうしたらこんなことになるのかと考え込んで作業が中断してしまうのだ
574デフォルトの名無しさん
2018/08/11(土) 07:49:06.09ID:J6jQGTXX 開発が遅れるわけだw
575デフォルトの名無しさん
2018/08/11(土) 13:45:31.92ID:VJAxUjoq 悟ってお仕事
576デフォルトの名無しさん
2018/08/23(木) 22:27:48.51ID:hCHxCnaA スナップできるのはどういうウィンドウかあるいはどういう条件なのか、具体的な要件の一覧ってどこかで見られますか。
自作デスクトップアプリケーションのウィンドウがスナップ機能の対象になってないことに気づいて、少しプログラムをいじってみたところ
すぐにウィンドウスタイルによってスナップ機能が働かないことがあるのはわかりました。
具体的にはWS_MAXIMIZEBOXが無いとスナップできません。
で、他のスタイルやスタイル以外の条件もあるかもしれないと思い、
まずはウィンドウスタイルとスナップの関係性から調べてみましたがスナップ機能の条件についての情報は見つけられませんでした。
よろしくお願いします。
自作デスクトップアプリケーションのウィンドウがスナップ機能の対象になってないことに気づいて、少しプログラムをいじってみたところ
すぐにウィンドウスタイルによってスナップ機能が働かないことがあるのはわかりました。
具体的にはWS_MAXIMIZEBOXが無いとスナップできません。
で、他のスタイルやスタイル以外の条件もあるかもしれないと思い、
まずはウィンドウスタイルとスナップの関係性から調べてみましたがスナップ機能の条件についての情報は見つけられませんでした。
よろしくお願いします。
577デフォルトの名無しさん
2018/08/23(木) 23:19:58.10ID:yNz2G80b スナップなんてOSの設定で最初に切る項目だぞ
気にするな
気にするな
578デフォルトの名無しさん
2018/08/24(金) 12:24:54.13ID:ZVlysGry ダイアログにすればいい
579デフォルトの名無しさん
2018/08/24(金) 12:28:22.65ID:NFTQhSIK ついでに質問だけど
win10あたりからウィンドウの枠のちょっと外まで(影なしにしてても)
ウィンドウのリサイズとかマウスアイコン⇔の判定に使われてるみたいで
ウィンドウの下のウィンドウを上にもって来たくてクリックしたつもりが
違うウィンドウが上に来てしまうことが多くて困ってる
これなんとかする設定どこにある?
win10あたりからウィンドウの枠のちょっと外まで(影なしにしてても)
ウィンドウのリサイズとかマウスアイコン⇔の判定に使われてるみたいで
ウィンドウの下のウィンドウを上にもって来たくてクリックしたつもりが
違うウィンドウが上に来てしまうことが多くて困ってる
これなんとかする設定どこにある?
580デフォルトの名無しさん
2018/08/24(金) 12:54:56.78ID:9pgk/rrF このスレ的な解決だとFrameRectをフックして少し大きめの枠に変えちゃえばいいのかな
581デフォルトの名無しさん
2018/08/24(金) 13:35:47.85ID:C22mUEBr > 具体的にはWS_MAXIMIZEBOXが無いとスナップできません。
win7 WS_MAXIMIZEBOXなしのタイトルバーをマウスでつまんで
desktopの上辺に移動してマウスを放すと、
タイトルバーが完全に表示されるように再移動される
これもsnapではないのか
win7 WS_MAXIMIZEBOXなしのタイトルバーをマウスでつまんで
desktopの上辺に移動してマウスを放すと、
タイトルバーが完全に表示されるように再移動される
これもsnapではないのか
582デフォルトの名無しさん
2018/08/24(金) 16:58:34.94ID:71ZOGqZF >>581
そうですね。即席で調べただけなので見落としてました。
いずれにせよ、スナップ操作時にどういったウィンドウならばどういう作用が起こるのか、
逆に特定のスナップの効果が欲しい場合にどういうウィンドウをセットアップすればよいのか
みたいなことがわかる情報を探しています。
そうですね。即席で調べただけなので見落としてました。
いずれにせよ、スナップ操作時にどういったウィンドウならばどういう作用が起こるのか、
逆に特定のスナップの効果が欲しい場合にどういうウィンドウをセットアップすればよいのか
みたいなことがわかる情報を探しています。
583デフォルトの名無しさん
2018/08/27(月) 20:05:43.05ID:vbuO7hMr 片山の取り巻きは帰れ
584デフォルトの名無しさん
2018/08/28(火) 18:50:20.34ID:K0zx4BAG 実行中のGUIアプリケーションのコントロールを取得して表示させたいのですが良い方法はありますか?
585デフォルトの名無しさん
2018/08/28(火) 22:31:26.44ID:CqD+kceR spyのソースを読むべし
586デフォルトの名無しさん
2018/08/29(水) 06:13:37.68ID:bvggge1h hwnd検索するだけの質問だったのか
てっきりインジェクトして中身奪い取るとかそんなのかと思ったわww
てっきりインジェクトして中身奪い取るとかそんなのかと思ったわww
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 小野田紀美・経済安保担当相「何か気に入らないことがあればすぐに経済的威圧をする国への依存はリスク」 ★2 [Hitzeschleier★]
- 日本行き空路49万件キャンセル 中国自粛呼びかけ 日本行きチケット予約の約32%に相当 ★2 [ぐれ★]
- 【中国局長】両国関係に「深刻な影響」 首相発言の撤回要求 [蚤の市★]
- 外務省局長は無言で厳しい表情…日中の高官協議終了か 高市首相“台湾”発言で中国が強硬対応 発言撤回求めたか…★3 [BFU★]
- 【インバウンド】中国人観光客の日本での消費額は年間約2兆円超…中国政府は公務員の出張取り消し [1ゲットロボ★]
- 【維新】吉村知事「中国人観光客だけに頼るビジネスモデル変えていかないといけない」「高市総理の発言は撤回する必要はない」 [Hitzeschleier★]
- 【高市朗報】 日本政府「一昨年は1300億円。去年も防衛費が1100億円余ったw」 日本の防衛費は充分足りてる事が判明。増やす必要無し [485983549]
- 高市早苗「支持者の理解を得られないので台湾発言を撤回できない」 [931948549]
- 【実況】博衣こよりのえちえち歌枠🧪
- 【高市速報】日本人の3割「中国への武力行使に踏み切る必要がある」ANN世論調査 [931948549]
- 外務省局長、よくわからないまま帰国へ [834922174]
- 【速報】51歳まで自衛隊になれるように法改正ww [347751896]
