■過去ログ置き場に戻る■ 1- 前250 次250 最新50


[memo] "9999999999_00.html#R20" という感じで、URLの最後に "#RレスNo" を追加すると幸せになれます。

Win32API 質問箱 Build5
251 名前:デフォルトの名無しさん :02/08/19 21:15
すみません教えてください。
リストボックスに、文字を追加して行きたいと思い下記のようなコードを打ちました

SendDlgItemMessage( hWnd, IDC_LIST1, LB_ADDSTRING, 0, (LPARAM)Buff );

たしかに、文字はリストボックスに追加されたのですが、どんどん追加していくと
スクロールバーができ、入力している文字がリストボックスから見えない位置に
いってしまいます。
最後に出力した文字が、常に見える状態にするにはどうすればよいのでしょうか?
MFCだと、SetCurSel( m_ctl.GetCount()-1 );
でいいみたいなんですが、apiだとどうして良いのか、分かりません・・




252 名前:デフォルトの名無しさん :02/08/19 21:28
>>251
そこまでわかっているならGoogleで
SendDlgItemMessage SetCurSel
で見つかる予感 ->
ttp://n76cd-01p05.ppp11.odn.ad.jp/old/a6050.html

これでいいんじゃないでしょうか。

253 名前:デフォルトの名無しさん :02/08/19 21:33
VisualC++6 Pro SP5でCreateJobObjectがつかいたいのだけど
error C2065: 'CreateJobObject' : 定義されていない識別子です。
っていわれちゃう。
なんでだよヽ(`Д´)ノウワァァァァン

#include <windows.h>
#include <winbase.h>
#pragma comment(lib,"kernel32.lib")


int main(int argc, char* argv[])
{
        HANDLE hJob = (HANDLE)CreateJobObject(NULL, "testjob");


        return 0;
}


254 名前:デフォルトの名無しさん :02/08/19 22:05
>>253
CreateJobObject は Windows 2000 以降の API だけど、
ちゃんとそれに対応した新しい Platform SDK 使ってるかね。


255 名前:デフォルトの名無しさん :02/08/19 22:06
>>253

ヘルプに
>対応情報
> Windows NT: バージョン 5.0 以降を使います。
って書いてあるよね。

実行環境のWindowsのバージョンに依存するときは、
_WIN32_WINDOWSや_WIN32_WINNTというマクロが必要だよ。

をヘルプで引いてごらん。


#define _WIN32_WINNT 0x0500
とか、
>Visual C++ 6.0: To specify compiler options,
>go to the Projects menu and click Settings,
>then select the C/C++ tab.
とか、することになってるよね。

256 名前:デフォルトの名無しさん :02/08/19 22:47
>>249
>「hbmp パラメータが示すビットマップが
>デバイスコンテキストで選択されている場合、
>この関数を呼び出さないでください」とあるんだが。

あ、本当だ。見落としてました。(^^;

>>250
>CreateDIBSection() と同じで、DIB_RGB_COLORS である限りは HDC は
>まったく参照されないんじゃなかったっけ? (HDC は NULL でいい)

なるほど、HDCはパレットの情報を得るのに使っているんですね。
調べてみると、SetDIBitsのところにも、NULLでいいと書いてありました。
ところが、実際にNULLを指定すると、なぜかエラー(戻り値=0)が
返ってきます。他のパラメータが間違っているのかな???

GetDIBits・SetDIBitsの前後を調べてみることにします。
とりあえず、ありがとうございました。>>247 >>249 >>250

257 名前:デフォルトの名無しさん :02/08/19 22:49
>>250
よく読め
>>246はNULLだとダメだったとちゃんと言ってるぞ
GDI関数で第一引数にHDCを取るものは
どのドライバを呼び出すか決めるためにHDCを使うんだから
この場合ディスプレイドライバが作ったHDCならなんでもいいけど
NULLはダメ

258 名前:256 :02/08/19 23:28
訂正:
>調べてみると、SetDIBitsのところにも、NULLでいいと書いてありました。

正確には、「無視されます」とあり、
「NULLでもいい」と書かれてあったわけではありませんでした。
失礼。

259 名前:デフォルトの名無しさん :02/08/20 00:16
今までMFCを使っていました。
Win32APIだけで組めばプログラムのファイルサイズがかなり小さくなると
思ったのですが、実際にダイアログリソースを表示するだけの簡単なプログラムを
作ってみるとMFCで共通DLLを使ったものよりも大きくなってしまいました。
 MFC(共通DLL使用)→28KB
 Win32API→44KB
こんな具合です。
もうちょっと(せめてMFC版よりも)サイズを小さくするにはどうしたらよいのでしょうか?

260 名前:デフォルトの名無しさん :02/08/20 00:20
>>259
必要な処理をDLLに持っていって本体はWinMain()のみにする。

261 名前:デフォルトの名無しさん :02/08/20 00:20
MSVCRT.DLLを使うようにする。

262 名前:デフォルトの名無しさん :02/08/20 00:21
>>259
サイズの比較になってねーぞ
 MFC(共通DLL使用)→28KB + sizeof MFC42.DLL


263 名前:デフォルトの名無しさん :02/08/20 00:24

#include "stdafx.h"
int APIENTRY WinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPSTR lpCmdLine,
int nCmdShow )
{
keybd_event(VK_SNAPSHOT,0,0,0);
return 0;
}
昨日も聞いたんだけどサー,これでデスクトップのショットが取れないのはなぜ?
アクティブウィンドウしか取れない. alt 押してないのに.
証拠画面もうぷするか?


264 名前:デフォルトの名無しさん :02/08/20 00:30
>>263
そんなことせんでもGetDC(0)したのをBitBltすれば良かろう。

つぅか誰にそのキーイベント送ってるのさ?

265 名前:デフォルトの名無しさん :02/08/20 00:31
>>259
upx --best --crp-ms=100000 filename
とかどうよ?

266 名前:デフォルトの名無しさん :02/08/20 01:00
>そんなことせんでもGetDC(0)したのをBitBltすれば良かろう

その通りなんですけど,キーコードがちゃんと送れてないのがげせない.
>誰にそのキーイベント送ってるのさ
OSにです.ペイントで貼り付けると一部しか取れてないんです.
そのときのアクティブだけってことは
 alt + Pscrn が送られてることになる.
げせねぇ


267 名前: :02/08/20 01:05
>>266
keybd_eventのヘルプの下の方は読んだか?

268 名前:デフォルトの名無しさん :02/08/20 01:14
>>262
そんなこと言い出したらwin32apiだけだってdll使うっつーの

269 名前: :02/08/20 01:21
>>268
アフォですか? 比較するならmsvcrt.dllを使ったものと
比較すべきと言っているんだろ。

270 名前:デフォルトの名無しさん :02/08/20 01:29
>>263
keybd_event(VK_SNAPSHOT,1,0,0);
keybd_event(VK_SNAPSHOT,1KEYEVENT_KEYUP,0);

271 名前:270 :02/08/20 01:34
2行目の1の後に,が抜けた。

272 名前:デフォルトの名無しさん :02/08/20 03:18
LIBCTINY.LIBを使ってる人いる?
http://msdn.microsoft.com/msdnmag/issues/01/01/hood/hood0101.asp

簡単にサイズを小さくできるっていうライブラリ。

273 名前:keybd_event :02/08/20 07:38
了解

おさわがせしました

274 名前:251 :02/08/20 14:25
>>252さん
解決しました、ありがとう御座います。

275 名前:サービスしてね :02/08/20 15:31
管理ツールでサービスの開始停止をしてるけど、これってプログラム上ではどうしればよいのですか?
レジストリの項目でServiceってのがあったので値を見てみたのですが特に変わってなかったです。


276 名前:デフォルトの名無しさん :02/08/20 15:52
>>275
OpenSCManager, OpenService, ControlService, QueryServiceStatus
あたり。


277 名前:サービスしてね :02/08/20 16:07
>>276
Hit’sです!ありがとうございます!

278 名前:デフォルトの名無しさん :02/08/20 16:58
>>259
アセンブラで書け
8kBぐらいにはなるだろ

279 名前:デフォルトの名無しさん :02/08/20 18:51
>>272の方がmsvcrt.dll使うより小さいしアセンブラよりずっと簡単。
なんせリンクするだけだから。
楽して小さくするならLIBCTINY。これ常識。

280 名前:デフォルトの名無しさん :02/08/20 19:05
なんでそんなにサイズを気にするんだろ。
FDにぎっしりつめるつもりなのかしら。

281 名前:デフォルトの名無しさん :02/08/20 19:05
>>280
高サイズはウイルスにとって致命傷ですから。


282 名前:デフォルトの名無しさん :02/08/20 19:06
>>281
そっちか(^_^;)

283 名前:デフォルトの名無しさん :02/08/20 20:35
PmenuH = LoadMenu((HINSTANCE)GetWindowLong(hWnd, GWL_HINSTANCE), "IDR_PopMenu");

でメニューハンドルの取得に失敗するんですが理由がわかりません。
どなたか教えてください。

284 名前:デフォルトの名無しさん :02/08/20 20:55
>>279
MFC使うより小さくなるんか?

285 名前:デフォルトの名無しさん :02/08/20 21:08
>>283
MAKEINTRESOURCE(IDR_PopMenu)でやってみたら?


286 名前:デフォルトの名無しさん :02/08/20 21:18
RegDeleteKey関数で
サブキーを持つキーを一度で削除しようとしたところ
できませんでした。
ヘルプを見るとNT/2000では
サブキーを持つきーを指定することはできないと書いてありました。

2000でサブキーごとキーを削除するには
どうすればいいでしょうか?
サブキーを検索していってひとつずつ
削除するのが賢いやり方ですか?
それとも他に代用できる関数があるのでしょうか?
よろしくお願いします。

287 名前:デフォルトの名無しさん :02/08/20 21:27
>>284
もちろんモノによるが、なる。

288 名前:初心者です! :02/08/20 22:00
 WINDOWS2000を使ってるのですが、DOSでアセンブラ言語を実行しようとするとずっと実行中になってしまい処理が終わりません。きちんとリンクまではできてるはずなのですが・・・
時々コマンドを実行しようとすると、VDDの形式が無効ですってエラーメッセージが出るのですがなんか関係あるのでしょうか?
原因がまったくわかりません!誰か教えてください!

289 名前:デフォルトの名無しさん :02/08/20 22:14
>>286
>サブキーを検索していってひとつずつ
>削除するのが賢いやり方ですか?
いや、愚かなやり方です。
毎回そんなことを考えずに済むように
しておくのが賢いやり方です。
どうすべきか、わかりますね?

290 名前:286 :02/08/20 22:22
>289
わかりません。
もうすこし具体的に言ってもらえませんか?

>毎回そんなことを考えずに
自分でサブキーを検索して消していく
関数を作っておけということですか?

291 名前:289 :02/08/20 22:53
>>290
特定のやり方を押し付けたくありませんが
反問されている内容については
方向性はあっていると思います。

292 名前:デフォルトの名無しさん :02/08/20 22:58
自分で作るサブキー名がわかってるなら
消すキーの中にサブキーをデータとして入れちゃえ
とか言ってみるテスト

293 名前:286 :02/08/20 22:59
レスありがとうございました。
結論としてはWin2kでサブキーごとキーを削除するには
サブキーを検索していってひとつずつ
削除する、という流れで、
代用できる関数は用意されていないので
自作すべし。
ということで落ち着きました。
ありがとうございました。

294 名前:292 :02/08/20 23:00
>サブキーをデータとして
サブキー名をデータとして

テスト失敗

295 名前:283 :02/08/20 23:16
>>285
すいません。やってみたのですが、「IDR_PopMenu 定義されていない識別子」ですと出てきてしまいます。
ちゃんとリソースにはあるのですが・・・

296 名前:デフォルトの名無しさん :02/08/20 23:28
>>295
実はリソースのヘッダをインクルードしてないとか...
外してる可能性大

297 名前:283 :02/08/20 23:38
やってしまいました。( ̄□ ̄;)!!!
285さん296さんありがとうございました。
お騒がせしました。m(_ _)m

298 名前:デフォルトの名無しさん :02/08/20 23:39
現在自端末にDHCPから設定されているIPアドレスを
ipconfig /release で開放。
ipconfig /renew で再取得
をしたく、ipconfigと同様なAPIを、検索で頑張って探してみたのですが
結局わかりませんでした。
WindowsCEならあるようなのですが。。。

どなたかご存知の方、教えてください。

299 名前:デフォルトの名無しさん :02/08/20 23:49
>2000でサブキー削除
SHDeleteKey?

300 名前:286 :02/08/21 00:02
>>299さん
ありがとうございます、
大当たりです。
試してみましたが無事一発で消えました。
実は自分でSHDeleteKey関数と
同じようなの自作してる途中でしたw
ありがとうございました。

教訓
サブキーごとレジストリのキーを削除する場合は
SHDeleteKey関数を使用する。

301 名前: :02/08/21 00:05
>>259
以下のコードをa.cとa.rcというファイル名で保存して、
rc a.rc, cl a.c a.res でコンパイルすれば2048バイトになる。
9x系で動作しなくていいなら、cl /O2 a.c a.res /link /align:16
で1056バイトになる。

#include <windows.h>
#define IDD_DIALOG 1
#ifdef RC_INVOKED
LANGUAGE LANG_JAPANESE, SUBLANG_DEFAULT
#pragma code_page(932)
IDD_DIALOG DIALOGEX 0, 0, 87, 79
STYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "Dialog"
FONT 9, "MS UI Gothic", 400, 0, 0x80
BEGIN
 DEFPUSHBUTTON "OK",IDOK,27,53,50,14,NOT WS_TABSTOP
END
#else
BOOL CALLBACK DlgProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam) {
 switch (uMsg){
 case WM_INITDIALOG:
  return 1;
 case WM_COMMAND:
  if (wParam == MAKEWPARAM(IDOK, BN_CLICKED))
   EndDialog(hWnd, IDOK);
  return TRUE;
 default:
  return FALSE;
 }
}
void Startup(){
 DialogBox(GetModuleHandle(NULL), MAKEINTRESOURCE(IDD_DIALOG), NULL, DlgProc);
 ExitProcess(0);
}
#pragma comment(linker, "/subsystem:windows /entry:Startup /merge:.rdata=.text")
#pragma comment(lib, "kernel32.lib")
#pragma comment(lib, "user32.lib")
#endif

302 名前:デフォルトの名無しさん :02/08/21 00:27
>>300
教訓は2chでのレスは鵜呑みにしないってこった

303 名前:デフォルトの名無しさん :02/08/21 00:33
>>301
キタ━━━━━━━(゚∀゚)━━━━━━━ !!!!!

304 名前:デフォルトの名無しさん :02/08/21 00:42
>>300
ただしIE3だか4だかが入ってないWin95では動作しない罠
Win95をサポート範囲外にするならどうでもいいかも

305 名前:286 :02/08/21 01:00
>304
IE4.0以降の環境が必要みたいです。
ご報告。

306 名前:デフォルトの名無しさん :02/08/21 01:12
質問元の>>286で2000って言ってるんだから問題ない罠

307 名前:デフォルトの名無しさん :02/08/21 01:43
mfc**.dllやMSVCRT.dllのバージョンとこれらのDLLがインストールされる
タイミング(VSのSP○でインストールされるとかWindows98では標準でインストールされてるとか)
を知るにはMSDNのどこを見ればよいのでしょうか?
またはそれらが書いてあるサイトはあるでしょうか?
MSDNやgoogleで探してみたんだけど見つかりませんでした。

308 名前:デフォルトの名無しさん :02/08/21 02:14
一番あやしいのはofficeだろうけど情報はまとまってないと思った。

でもここ3年ぐらいはDLL問題を聞かないなあ。
みんなstatic linkにしちゃったのかな。

309 名前:デフォルトの名無しさん :02/08/21 02:24
Oracleでバックアップリカバリのテストをしようと思い、
強制的にファイルをぶっ壊す事が出来ないかと思ってます。
普通にエディタとかでファイルを開いて内容を変更して
保存しようとしても、他のプロセスが使用中とか
いわれちゃうんですが、APIでどうにかなったりしませんか?
#実運用時に突然DBが壊れた状況を作り出したいのです


310 名前:デフォルトの名無しさん :02/08/21 02:55
>>301
あなた神ですよね。

311 名前:デフォルトの名無しさん :02/08/21 03:00
Winアプリからデータベースにアクセスするにはどうすればいいのでしょうか?
何かモジュールやライブラリがいるのでしょうか?
MFCでAppWizardを使うやり方はなんとなくわかったのですが、SDKでやる方法
がわかりません。どなたか教えてください。

312 名前:デフォルトの名無しさん :02/08/21 03:26
>>311
使用するデータベースと、接続法法によるけど。ADO 使うなら msdao15.dll あたり
を #import して使う。

313 名前: :02/08/21 03:44
>>309
\\.\PhysicalDriveNをRaw I/Oすればできそうな気もするが、
それより安いハードディスクを買ってきて物理的にぶっ壊す
ほうが安上がりかも。

314 名前:デフォルトの名無しさん :02/08/21 08:30
実体のあるファイル別ディスクに入れといてケーブル抜くだけでいいじゃんよー

315 名前:デフォルトの名無しさん :02/08/21 14:31
PrintDlgを使って印刷しようとしてるのですが、
SDKで複数ページ印刷は難しいんですかね?
と言うか、総ページ数の取得ってできないものなんですか?

316 名前:デフォルトの名無しさん :02/08/21 20:43
ウインドウのサイズを変更できないようにするにはどうすればいいのでしょうか?

317 名前:質問 :02/08/21 21:41
複数の音(wav)を同時発声するにはどうしたらよいでしょうか。
PlaySound()ではムリなようだから
なにかほかのAPIがあれば教えていただきたいんですけど。
WinMEで。←絶対条件


318 名前:デフォルトの名無しさん :02/08/21 22:02
direct sound?
MEが絶対条件とか言ってるようだと何も知らないみたいね・・・

319 名前:デフォルトの名無しさん :02/08/21 22:04
物理的に壊すとアプリ(この場合oracle)じゃなくてシステム的にエラーが
起こってしまうんちゃうか。
システム的には正常で、アプリからは壊れているように見えることが
試験には必要なんでないの。

320 名前:298 :02/08/21 22:37
誰からもなしですね。。。残念です。
systemかjavaでやることにします。

質問の仕方まずかったのかなぁ。

321 名前:デフォルトの名無しさん :02/08/21 23:05
ウインドウ領域を取得したいのですが
画面一番下にあるタスクバーの領域がとれません

 CWnd *pDeskTop = CWnd::GetDesktopWindow();
 CRect m_rect;
 pDeskTop->GetWindowRect(&m_rect);


タスクバーの部分も含めて取るにはどうすればいいですか


322 名前: :02/08/21 23:21
>>321
GetSystemMetrics(SM_CXSCREEN)
GetSystemMetrics(SM_CYSCREEN)

323 名前:デフォルトの名無しさん :02/08/22 00:18
デスクトップウィンドウってタスクバー領域も含んでたような

324 名前:デフォルトの名無しさん :02/08/22 07:28
>>323
>>322で完璧な答えが出ているのにお前がしゃべる必要があるのか?

325 名前:デフォルトの名無しさん :02/08/22 12:44
質問です。

ビープ音を鳴らしたいのですが(スピーカーから出すのじゃなく)どうすればいいのですか?

326 名前:デフォルトの名無しさん :02/08/22 12:55
>ビープ音を鳴らしたいのですが(スピーカーから出すのじゃなく)
じゃあ一体どこから・・・。

327 名前:デフォルトの名無しさん :02/08/22 15:55
EnumFontFamiliesExでフォント列挙してるのですが、フォント名の頭に @ が付いてる
フォントをフィルタリングするにはどうすればよいのでしょうか?
フォント名文字列の先頭に @ が付いてるかどうかを調べるしかないですか?
フラグでもあるのかなーと思って質問してみますた。

328 名前:デフォルトの名無しさん :02/08/22 16:22
カーソル位置でカーソル形状を変えたいんですが、どうやるか教えてください。

WM_MOUSEMOVEの処理で、カーソル位置の情報を調べて、LoadCursorで変更し
ようと思ってます。
カーソル位置が、キャレットであるとか、ビットマップであるとか調べる方法が
わからないです。

329 名前:デフォルトの名無しさん :02/08/22 16:34
>>325
Beep()なAPIでどうだ? 漏れは使ったこと無いが。

>>326
マザーから鳴るのを知らないのか?
(厳密にはマザーじゃないかも知れんが。)
とんだ坊やだな。

330 名前:デフォルトの名無しさん :02/08/22 16:40
>>329
マザーボードに搭載されてる「スピーカ」からな。
とんだ赤ん坊だね。

331 名前:デフォルトの名無しさん :02/08/22 16:55
>>330
M/Bに搭載されているブザーじゃねーのか?
ブザーとスピーカじゃ物が違うのだが、知ってるか?

332 名前:デフォルトの名無しさん :02/08/22 17:01
ブザーの中に入ってるものがスピ−カー

333 名前:デフォルトの名無しさん :02/08/22 17:04
つぅか電気的に作成した音を出すのは全部スピーカだろう。

334 名前:デフォルトの名無しさん :02/08/22 17:04
きっとマザーが勝手に振動して音が鳴るんだ

335 名前:デフォルトの名無しさん :02/08/22 17:06
>>334
それってスピーカでは?

336 名前:デフォルトの名無しさん :02/08/22 17:10
この中で一番困った人は誰
1.「スピーカー以外」と指定した質問者である>>325
2.つっこんだ>>326
3.よく知らないのにとりあえずマザー説を唱えて煽った>>329
4.おもしろがってる俺


337 名前:デフォルトの名無しさん :02/08/22 17:12
>>335
スピーカーの原理ではあるがスピーカー機器ではないね。
だいたいそんなAPIがあるのか。

338 名前:2. :02/08/22 17:14
>>336
2.の時点では軽く困ったけどみんなのおかげで今は楽勝です。w

339 名前:デフォルトの名無しさん :02/08/22 17:19
>>333
認識甘い。
君は車のクラクションがスピーカだと主張しているわけか。(藁

340 名前:デフォルトの名無しさん :02/08/22 17:21
ブザーとスピーカー、音の発生方法が若干違う。
ブザーは振動物に固体を当てて発音している。

それはともかく、Beep()ってのがあるのは確かだな。

341 名前:デフォルトの名無しさん :02/08/22 17:35
どうでもいいレスでスレがのびるのが一番困った。

342 名前:デフォルトの名無しさん :02/08/22 17:36
>振動物に固体を当てて

343 名前:デフォルトの名無しさん :02/08/22 17:36
http://plaza12.mbn.or.jp/~audio/bee_02.htm
ブザー作って来い。

344 名前:デフォルトの名無しさん :02/08/22 17:39
>>342
なんといやらしい。

345 名前:デフォルトの名無しさん :02/08/22 17:46
デュアルショックにティムポをあてたらきゅー、きゅーと音が鳴るのですがブザーですね

346 名前:デフォルトの名無しさん :02/08/22 17:52
>>343
ハゲシクワラタ
ナイスネタ
てかネタだよな

347 名前:デフォルトの名無しさん :02/08/22 18:21
MessageBeep()

348 名前:デフォルトの名無しさん :02/08/22 18:43
printf("\a");

349 名前:デフォルトの名無しさん :02/08/22 19:04
煽り甲斐があったよ。てか、煽る気はあまりなかったが。
マザーに直付けのちっこいブザーやら、リード線引いてきてちゃちいスピーカーを付けるパターンやらがあるから
とりあえずマザーと書いたんだが。
イメージ的にはあってると思うが、通じないかい?
漏れだけしか通じない罠なら逝ってきます。

350 名前:デフォルトの名無しさん :02/08/22 19:08
この板と全然関係ない話のせいで>>327,328の質問が流れてしまって…合掌

351 名前:デフォルトの名無しさん :02/08/22 20:36
こんなんして B5縦 で印刷したいんですが。ちなみに RICOH の NX710 です。

HDC hdc2 = ::CreateDC(NULL, printernames[target], NULL, NULL);
DEVMODE dmMode = {0};
dmMode.dmSpecVersion = DM_SPECVERSION;
dmMode.dmSize = sizeof(DEVMODE);
dmMode.dmFields = (DM_PAPERSIZE | DM_ORIENTATION);
dmMode.dmPaperSize = DMPAPER_B5;
dmMode.dmOrientation = DMORIENT_PORTRAIT;
hdc = ResetDC(hdc2, &dmMode);

プリンタにB5横しか入ってないと、プリンタに「A4入れろやゴルァ」と出るんです。
90度傾けて印刷させるにはどうアプローチすればいいですか?

352 名前:デフォルトの名無しさん :02/08/22 20:44
>>351
プリンタのプロパティで縦方向印刷に設定しる!

353 名前:デフォルトの名無しさん :02/08/22 21:00
>>352
うーん確かにそれだと出るんですが・・・・
ユーザに設定させたり保存させたくないんですよぉ

354 名前:デフォルトの名無しさん :02/08/22 21:42
>>327
正解!ダトオモウ...

>>328
各コントロールをサブクラス化してWM_MOUSEMOVEを引っかける
のが妥当かな。

どっちも地震無し。

355 名前:デフォルトの名無しさん :02/08/22 22:27
用紙縦=GetDeviceCaps(hdc2,HORZSIZE) * 100;
用紙横=GetDeviceCaps(hdc2,VERTSIZE) * 100;
if(縦横のサイズ != B5サイズ){
 MessageBox(hWnd,"B5にしてね(ハァト",NULL,MB_OK);
 exit(1);
}

356 名前:デフォルトの名無しさん :02/08/22 22:57
PageSetupDlgで、縦方向に設定したときと横方向に設定したときで、
DEVMODEがどう変わるか調べて、
それに合わせてソースを書く(w

357 名前:デフォルトの名無しさん :02/08/23 00:21
>>327
英語版には縦書きという概念がないから日本語化のとき
先頭に@があるかないかをフラグ代わりにしたの
>>328
WM_SETCURSORという専用のメッセージがあるからそっち使え

358 名前: :02/08/23 00:23
>>351
こんな感じか?

PRINTER_INFO_2 *GetDefaultDevMode(LPTSTR name){
PRINTER_INFO_2 *pinfo2 = NULL;
HANDLE hPrinter;
if (OpenPrinter(name, &hPrinter, NULL)){
DWORD size;
GetPrinter(hPrinter, 2, NULL, 0, &size);
if (GetLastError() == ERROR_INSUFFICIENT_BUFFER){
pinfo2 = (PRINTER_INFO_2 *)malloc(size);
if (!GetPrinter(hPrinter, 2, (LPBYTE)pinfo2, size, &size)){
free(pinfo2);
pinfo2 = NULL;
}
}
ClosePrinter(hPrinter);
}
return pinfo2;
}

HDC CreatePrinterDC(LPTSTR name){
PRINTER_INFO_2 *pinfo2;
HDC hdc;
pinfo2 = GetDefaultDevMode(name);
if (!pinfo2)
return NULL;
pinfo2->pDevMode->dmFields |= DM_PAPERSIZE | DM_ORIENTATION;
pinfo2->pDevMode->dmPaperSize = DMPAPER_B5;
pinfo2->pDevMode->dmOrientation = DMORIENT_PORTRAIT;
hdc = CreateDC(pinfo2->pDriverName, pinfo2->pPrinterName, NULL, pinfo2->pDevMode);
free(pinfo2);
return hdc;
}

359 名前:デフォルトの名無しさん :02/08/23 10:51
紙2001みたく、他アプリケーションが、ドラックの開始をしたことと、
キャンセルを検知するのは、どーすんでしょうか?


360 名前:デフォルトの名無しさん :02/08/23 11:15
>>359
フックすれば?

361 名前:デフォルトの名無しさん :02/08/23 11:15
>>360
ですね。

362 名前:3ヶ月目 :02/08/23 12:35
ディレクトリのコピー/削除等の実装をSDKでやった事ある方は
MFCのときはCFileFindクラスを使いますか?
サンプル等探してもCFileFindクラスを使用した例があまり見当たりません。
使い勝手等何か問題あるのでしょうか?

363 名前:286 :02/08/23 12:59
>362
普通に便利だな、と思った。

364 名前:デフォルトの名無しさん :02/08/23 20:35
exitのかわりになるWin32 APIってないですか?

365 名前:デフォルトの名無しさん :02/08/23 20:43
ExitProcess

366 名前:デフォルトの名無しさん :02/08/23 20:45
>>365
ありがとう!

367 名前:デフォルトの名無しさん :02/08/23 21:22
>>364-366

なんだか危険な感じがしないでもない。

368 名前:デフォルトの名無しさん :02/08/23 23:27
まあ普通はexit()するわな。Cランタイムが後処理してくれるし。

369 名前:デフォルトの名無しさん :02/08/24 00:53
実行形式ファイルのバージョン情報を得るにはどうしたらいいんですか?
右クリック->プロパティ->バージョン情報
で出てくる情報を得たいんですけど、教えてください。

370 名前:デフォルトの名無しさん :02/08/24 01:11
>>362
SDKだろうがMFCだろうがATLだろうが、ディレクトリ操作はSHFileOperation()

371 名前:362 :02/08/24 02:19
>>363 >>370
さんくすです。
NT4.0考えなくていい時はSHFileOperation()使います。


372 名前:370 :02/08/24 03:22
>>371
NT4.0でも使えるのですが・・・ ( ;´Д`)

373 名前:362 :02/08/24 05:06
>>372
検索してみたんですが、
SP1だと複数のファイルを指定すると失敗するらしいです。


374 名前:362 :02/08/24 05:08
↑実際に確認してませんので違ったらすいません。

375 名前:351 :02/08/24 09:26
>>358
出ました! ありがとうございます

376 名前:デフォルトの名無しさん :02/08/24 13:32
>>369
GetFileVersionInfoだったっけ
こんなわかりやすいAPI名で人に聞くとはお前PG向いてないよ。田舎帰れ

377 名前:デフォルトの名無しさん :02/08/24 19:24
最近いろいろなアプリケーションでよく見かけますが、
ツールバーやリストボックスなどのコモンコントロールで、
背景に画像を設定するにはどうしたらいいですか?
検索しても背景色がせいぜいだったので教えていただけないでしょうか。


378 名前:デフォルトの名無しさん :02/08/24 19:47
>>377
コモンコントロール・・・
それ、VB板で聞いたら?

379 名前:デフォルトの名無しさん :02/08/24 19:48
間違った。
VBスレね。

380 名前:デフォルトの名無しさん :02/08/24 20:00
>>378
なんでVBなの?


381 名前:デフォルトの名無しさん :02/08/24 20:10
>>380
378 が何か勘違いしてるんだろ。放置しといてやれよ。

382 名前:デフォルトの名無しさん :02/08/24 21:42
>>351 >>358 に便乗するっす。長くてすんません。
CreateDC に DEVMODE 構造体を渡す前に (>>351 さんは代わりに ResetDC を
使ってるけど) DocumentProperties() を呼ばなくてもよいんですっけ。
DocumentProperties(NULL, hPrinter, pszPrinterName,
    pDevMode, pDevMode,
    DM_IN_BUFFER | DM_OUT_BUFFER);
みたいな感じ。
私が試している限り、あってもなくても関係なさそうだったんだけど
なんだか「偶然動いてるだけ」な感じがして気持ち悪いです。

MSDN によると「現在の設定を使うならこの DocumentProperties は不要」と
読めるんですよね。ここでもう混乱っす。

文書やネット上のサンプルコードや私が試した事をまとめるとこんな感じなんだけど:
 上のようにして DocumentProperties を呼ぶと、"非"一時的に設定を変更
 しちゃう。すなわち、次にアプリケーションを起動して DEVMODE を
 取得してみると、前回 DocumentProperties で設定したモノが取得できる。
ていう解釈でよいと思いますか?

383 名前:デフォルトの名無しさん :02/08/24 22:45
質問。
子ウインドウを作ると、その子ウインドウのほうが
アクティブになると思うのですが、
親ウインドウの方をアクティブにし続けるにはどうすればよいでしょうか?
今は、子ウインドウを作ったあとにSetActiveWindow関数を呼んで
親ウインドウに戻しています。

また、終了するまでアクティブでい続けるような
ウインドウを作ることはできるでしょうか。
誰かよろしくお願いします。

384 名前:デフォルトの名無しさん :02/08/25 00:14
>終了するまでアクティブでい続けるような

使いたくねー、こんなアプリ

385 名前:デフォルトの名無しさん :02/08/25 00:39
>>383
アクティブでなくなったら終了する

386 名前:デフォルトの名無しさん :02/08/25 03:02
>>384
いや、別にみんなに配るようなアプリを作っているわけじゃなくて
自分で使うのに、アクティブで無くなると困るって言うだけなんですが。


387 名前:デフォルトの名無しさん :02/08/25 04:38
挙動が激しく、トロイっぽいよね

388 名前:デフォルトの名無しさん :02/08/25 13:32
画像を扱うアプリなんです。
高速な描画、表示が条件なんですが、どのような方法がベストなんでしょう結局。
まず、バックバッファ相当のモノについて、
1.DIBSectionを使う
2.ただのメモリブロックを使う
3.DirectDrawSurfaceを使う(システムメモリ上??)
で、フレームバッファへの転送なんすけど、
1.Blt
2.アドレス拾ってmemcpy
とか考えられるんだけど、いったいどうすりゃストレスない描画ってできるんでしょう?

例えばフォトショップとかmameとか、ああいったのはどういった方法で実現してるんでしょうか?

389 名前:デフォルトの名無しさん :02/08/25 13:37
>>388
>フォトショップとかmameとか
同列で語って良いのか・・・?

390 名前:デフォルトの名無しさん :02/08/25 13:45
>>389
どちらにせよGDIとか使わずに表示まで持っていってますよね?
で、どちらも膨大なリソースを表示しているって意味では
まともにグラフィック処理してるって思うんですよ。
その方法は全然違うんだろうけど・・・

391 名前:デフォルトの名無しさん :02/08/25 13:48
>>390
>どちらにせよGDIとか使わずに表示まで持っていってますよね?

マジで?

392 名前:デフォルトの名無しさん :02/08/25 13:52
>>391
違うの??よく知らないんだけど。
つーか普通にDIBとかからBlt、StretchBltとかって全然重いと思うんです。
mameの60fpsとかって全然無理なレベルぐらい重いんだけど・・・
画面モードとかによるのかな?

393 名前:デフォルトの名無しさん :02/08/25 13:53
>>392
君、DirectXとかその辺の基本理解してからしゃべってる?

394 名前:デフォルトの名無しさん :02/08/25 13:54
>>393
あんまり。基本っつーと、どんなことかな?

395 名前:デフォルトの名無しさん :02/08/25 15:13
>>394
ハードウェアが「どんな操作を」支援してくれるのか、じゃないの?

396 名前:デフォルトの名無しさん :02/08/25 17:38
Wininet で非同期通信をやろうと思ったんですが、
MSDNのサンプルを見るとスレッドを使っているみたいです。

WinSock ではスレッドを使わずにできたような気がするんですが、
Wininet ではスレッドを使わない非同期通信はできるんでしょうか。

397 名前:デフォルトの名無しさん :02/08/25 17:45
>>378
Delphiで作った2chブラウザでも見かけるけど・・・。
結局どうやったらできるのかな?


398 名前:デフォルトの名無しさん :02/08/25 18:41
>396
ほんとにMSDN調べた?
http://msdn.microsoft.com/library/default.asp?url=/workshop/networking/wininet/tutorials/implement_async.asp

399 名前:396 :02/08/25 19:05
見ましたよ>398
// Create a thread to handle the header and
// resource download.
cpContext->hThread = CreateThread(NULL, 0,
(LPTHREAD_START_ROUTINE)Threader,LPVOID(cpContext),
  0,&cpContext->dwThreadID);
このぶぶんでThreadを作っているけど、これをやらないではできないのかという話です。

400 名前:デフォルトの名無しさん :02/08/25 21:24
>>377
ツールバーの場合はRebarをつかって背景画像をセットしてると思う。

401 名前:デフォルトの名無しさん :02/08/26 00:23
続き(じゃねーけど)はここに書いてある。
http://www.codeproject.com/useritems/asyncwininet.asp

402 名前:デフォルトの名無しさん :02/08/26 01:59
OS が日本語Windowsか英語Windowsか調べられるAPIってあります?

403 名前:デフォルトの名無しさん :02/08/26 02:14
>>402
おれはGetACP() == _KANJI_CPで判定しているが、もっとうまい方法があれば、知りたい。
しかし、マルチリンガル版も視野に入れたら、GetACPしか無いような気もするんだが。

404 名前:デフォルトの名無しさん :02/08/26 02:21
>>403
GetOEMCP()は?

405 名前:デフォルトの名無しさん :02/08/26 06:24
GetSystemDefaultLCIDってのはどうだろう?

406 名前:デフォルトの名無しさん :02/08/26 10:07
>>405
よさげ。

407 名前:396 :02/08/26 18:27
>401
ふむ、ためしてみます。

408 名前:デフォルトの名無しさん :02/08/26 22:47
hInstanceを保存する必要ってあるの?
常にGetModuleHandle(NULL)使ったらまずい?

409 名前: :02/08/26 23:44
>>408
効率を考えなければ特に問題はない。

410 名前:デフォルトの名無しさん :02/08/26 23:46
>>409
ありがとう

411 名前:デフォルトの名無しさん :02/08/27 01:24
使っているWindowsが日本語版かどうかってどうやって調べるんでしょ?
特に無断転載する輩の多い韓国版では動かなくしたいんですけど。

412 名前:デフォルトの名無しさん :02/08/27 01:29
>>408
DLLなら保存しないとダメれすよ

413 名前:377 :02/08/27 10:05
ツールバーはRebarですか、どうも。
試してみます。

414 名前:デフォルトの名無しさん :02/08/27 13:34
VBで使用するOCXを、VCで作っているんですけど
そのOCXでエラーが発生した場合、VB側のOn Errorでそのエラーを捕まえたいんです。

その場合、OCX側でどのようなコードを書けば良いのでしょうか?


415 名前:デフォルトの名無しさん :02/08/27 16:12
>>414
throws Throuwable

416 名前:デフォルトの名無しさん :02/08/27 16:23
COMの境界をまたがって例外を投げてはいけない、と
COMの偉い人がいってますた。

417 名前:414 :02/08/27 17:52
レスどーもです。
VB側のOnErrorで取れました。
が、
>416サソの「COMの境界を〜」って、如何いう意味なんですか?
いまいち意味が判らんのですが...出来ましたら、解説をお願いします。


418 名前:デフォルトの名無しさん :02/08/27 18:13
>>411
ライセンスを日本海ウェアか竹島ウェアに変更しる。
if(IDNO==MessageBox(,"竹島は日本の領土?",,MB_YESNO)) exit(-1);

419 名前:デフォルトの名無しさん :02/08/27 18:58
>>416 C++の例外とCOMの例外を区別してないと思われ(先生はわかっていると思われ)
くそMFCだとそのあたりが隠蔽されているから、わからないと思われ。
つーか、S_OKとS_FALSE以外のHRESULT直接返せ。

420 名前:デフォルトの名無しさん :02/08/27 19:15
>>411
ちょっと前にロケール識別子でFA出てる。
レジストリ変えられたらおしまいだから、色々複合してみるのもいいかもしれん。

421 名前:デフォルトの名無しさん :02/08/27 20:41
>>420 すみません、FAとはなんでしょう?

422 名前:デフォルトの名無しさん :02/08/27 22:36
>>421
話の流れからして Final Answer かな。
しかしFAなんて略すなや。

423 名前:デフォルトの名無しさん :02/08/27 22:49
AFならAnal Fuckだったのに。

424 名前:デフォルトの名無しさん :02/08/27 22:55
フラットツールバーの途中にコンボボックスを設置したいのですが、
どうやればいいのか教えてください。

現在、セパレータの幅を指定して挿入しているのですが、
フラットスタイルにすると真ん中に縦線がに入ってしまい、
上下に線が見えてしまいます。

コンボボックスを大きくすれば解決するのですが、
見栄えが悪くなるのでどうしたらいいか悩んでいます。
バイナリエディタのBzが綺麗にやっているのですが、
どうやったら良いのでしょうか。

425 名前:デフォルトの名無しさん :02/08/27 23:08
FA:深キョン アナルファック

426 名前:421 :02/08/27 23:14
>> 425 thanks なわけねーだろ、thanks > 422

427 名前:デフォルトの名無しさん :02/08/27 23:32
初歩的な質問なんですが、テキストファイルを読み込むとき、
一行ずつ読みたいのですがみなさんどうやっていますか?
一行ずつ読むAPIはありませんよね?というわけで
1.Cライブラリ関数を使う
2.ReadFileで全部メモリに読んでから一行ずつ抜く
3.ReadFileで一文字ずつ読んで改行を見つける
のどれかになるのかなと思ったのですが、ライブラリ関数は使いたくない
ということと、3.では遅くなるということを考えた場合、2しかないですか?


428 名前:デフォルトの名無しさん :02/08/27 23:40
>>427
2.5 ReadFileで少しずつ読んで改行までを使う

っていうかどうしてライブラリが使いたくない?


429 名前:デフォルトの名無しさん :02/08/27 23:44
>>427
なぜfgetsを使いたくない?

430 名前:デフォルトの名無しさん :02/08/27 23:59
>>429
一行の長さがわかんないんで。。。

431 名前:デフォルトの名無しさん :02/08/28 00:06
>>430
分からないんなら、どこのメモリに読み込むの?

432 名前:デフォルトの名無しさん :02/08/28 00:07
俺は最大行の長さを調べてからmallocして読み込んでいる。
ファイルサイズ分バッファを獲得してもいいけど、無駄といえば無駄だから。

433 名前:デフォルトの名無しさん :02/08/28 00:08
>>430
Perl使え。

434 名前:デフォルトの名無しさん :02/08/28 01:28
がいしゅつだと思いますが、
SetDIBitsToDeviceでJPEGをディスプレイに表示させようと思っています。
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/gdi/bitmaps_6145.asp
↑を参考に書いてみましたが、描画されませんでした。
自力でJPEG展開は出来ましたが、気になって仕方がありません。
どなたかご存知の方、手順を教えてください。

435 名前:434 :02/08/28 01:30
sageてしまったのでアゲ

436 名前:デフォルトの名無しさん :02/08/28 03:23
そのサイトに書いてある手順でOK
出来ないのならあんたに問題有り

437 名前:デフォルトの名無しさん :02/08/28 03:26
描画ってもしかしてディスプレイか?
それなら不可能。プリンタのDCへStretchDIBits汁

438 名前:壁紙がかわらん :02/08/28 03:28

#include "stdafx.h"
int APIENTRY WinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPSTR lpCmdLine,
int nCmdShow )
{
SystemParametersInfo( SPI_SETDESKWALLPAPER, 0, "C:\\sample.bmp", SPIF_UPDATEINIFILE | SPIF_SENDWININICHANGE );

return 0;
}
全く変化しません.(?_?) win98se + VC6


439 名前:デフォルトの名無しさん :02/08/28 03:55
「Delphi」
これが読めなくて
そろそろ一年。。
これはなんと発音すればいいのでしょう?
デルピ??

440 名前:439 :02/08/28 03:56

すみません、すれ違いとは思ったのですが、
どこで聞いてもすれ違いっぽいので書き込みました。
申し訳ない。

441 名前:デフォルトの名無しさん :02/08/28 03:59
「でるふぃ」です

442 名前:439 :02/08/28 04:08
>441
おかげ様で人前で
「でるぴ」
などと発言し、恥をかかなくてすみました。
ありがとうございます。

443 名前:デフォルトの名無しさん :02/08/28 04:10
実際の発音はde'lfaiで、カタカナ表記ではデルフォイ、デルポイと言うらしい。

444 名前:439 :02/08/28 04:21
>443
そうなんですか、
とりあえず
「でるふぃ」でいきますねw
ありがとうございました。

445 名前:デフォルトの名無しさん :02/08/28 04:39
>>439
http://www.borland.co.jp/news/delphi7j.html

446 名前:439 :02/08/28 04:43
>445
あっ。。
デルファイ
って書いてあるw
情報ありがとうございます。
でも自分で言うのもなんですが、
低レベルな質問ですねぇ。

447 名前:デフォルトの名無しさん :02/08/28 06:48
>>437
ディスプレイには使えないのですか?
言われてみると、そんな気もします・・・。
サンクス。


448 名前:デフォルトの名無しさん :02/08/28 12:48
SetWindowRgnでリージョンセットして、
そのあとさらにSetWindowRgnであっさり新しいリージョンに置き換わると思ったら
置き換わらないYO!

これってウィンドウ破棄してリージョンセットしなきゃ無理でつかね?

449 名前:魔王ハルトン :02/08/28 13:05
>>448
んなこたないよ、何回リージョン変えても併記だよ。
何かエラー出てるんじゃないの。

450 名前:デフォルトの名無しさん :02/08/28 13:16
リージョン破棄とかもせずSetWindowRgnでよいのか?
それでいいなら漏れのPCもうだめぽ(´д⊂

451 名前:デフォルトの名無しさん :02/08/28 14:38
//DIB をファイルへセーブ
hfile = CreateFile("aa.bmp", GENERIC_WRITE, FILE_SHARE_WRITE,
NULL,CREATE_ALWAYS, 0, NULL);

とすると aa.bmp が全く指定した覚えのないディレクトリ内に作成されてしまう
んですが,原因はなんでしょうか.
途中で PaintDesktop() とかしてるんでカレントが変わってしまってるってこと?


452 名前:デフォルトの名無しさん :02/08/28 14:44
GetCurrentDirectoryで確認してみれば?

453 名前:デフォルトの名無しさん :02/08/28 14:54
↑お,了解.


454 名前:デフォルトの名無しさん :02/08/28 15:47
GetOpenfileNameで

ofn.lpstrFilter = "BMP files(*.bmp)\0*.bmp\0\0";

同時に jpg も表示するにはどう書けばええんですか?
(*.bmp,*.jpg) とか色々試したがだめや

455 名前:デフォルトの名無しさん :02/08/28 15:52
"All image files (*.bmp,*.jpg,*.pcx)\0*.BMP;*.JPG;*.PCX\0"


456 名前:デフォルトの名無しさん :02/08/28 15:53
自己解決でした↑


457 名前:デフォルトの名無しさん :02/08/28 15:56
>>456オメ

458 名前:デフォルトの名無しさん :02/08/28 16:07
#define STRICT
#include<windows.h>
LRESULT CALLBACK WindowProc(HWND,UINT,WPARAM,LPARAM);
int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR CmdLine,int CmdShow)
{HWND hwnd;MSG msg;WNDCLASS wc;
wc.style=0;wc.lpfnWndProc=WindowProc;wc.cbClsExtra=0;wc.cbWndExtra=0;
wc.hInstance=hInstance;wc.hIcon=LoadIcon(NULL,IDI_APPLICATION);
wc.hCursor=LoadCursor(NULL,IDC_ARROW);wc.hbrBackground=(HBRUSH)(COLOR_WINDOW+1);
wc.lpszMenuName=NULL;wc.lpszClassName="Hello";
if(RegisterClass(&wc)==0)return 0;
hwnd=CreateWindow("Hello","Hello World",WS_OVERLAPPEDWINDOW,
CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,
CW_USEDEFAULT,NULL,(HMENU)NULL,hInstance,0);
if(hwnd==NULL)return 0;ShowWindow(hwnd,CmdShow);UpdateWindow(hwnd);
while(GetMessage(&msg,NULL,0,0)){TranslateMessage(&msg);DispatchMessage(&msg);}
return msg.wParam;}
LRESULT CALLBACK WindowProc(HWND hwnd,UINT message,WPARAM wparam,LPARAM lparam)
{switch(message){case WM_DESTROY:PostQuitMessage(0);return 0;}
return DefWindowProc(hwnd,message,wparam,lparam);}

こんな俺はセンス内でしょうか

459 名前:デフォルトの名無しさん :02/08/28 16:46
何回も聞いて申しわけないんですが以下で壁紙が変化しないのはどういう
原因がありえますかね.SystemParametersInfo の返り値は毎回0です.エラー

#include "stdafx.h"
int APIENTRY WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR lpCmdLine,int nCmdShow )
{SystemParametersInfo( SPI_SETDESKWALLPAPER, 0, "森.bmp", SPIF_UPDATEINIFILE | SPIF_SENDWININICHANGE );
return 0;}


460 名前:デフォルトの名無しさん :02/08/28 17:04
ちなみに壁紙チェンジャの類はちゃんと動く.
アクティブディスクトップを設定しても解除しても
上のプログラムは駄目.

461 名前:デフォルトの名無しさん :02/08/28 17:05
森.bmp が見つからないとか?

462 名前:デフォルトの名無しさん :02/08/28 17:08
質問です。
画像を表示させるにはどうやればよいですか?

463 名前:デフォルトの名無しさん :02/08/28 17:22
展開->描画

464 名前:デフォルトの名無しさん :02/08/28 17:30
>>462
ネタうざい

465 名前:壁紙変わらん :02/08/28 17:51
char s[]="森.bmp";
SystemParametersInfo( SPI_SETDESKWALLPAPER, 0,s , SPIF_UPDATEINIFILE | SPIF_SENDWININICHANGE );

としたら成功でした.
lpszFileName,ってのは即文字列じゃだめなのか.


466 名前: :02/08/28 21:13
>>427
CreateFileMapping + MapViewOfFile でメモリにマッピングして
自力の loop で改行探せば?


467 名前:デフォルトの名無しさん :02/08/28 22:37
WM_MOUSEWHEELが定義されていないってでるんですが
このメッセージは16進数でいうといくつですか?
教えてください。

468 名前:デフォルトの名無しさん :02/08/28 22:43
winuser.hより0x020A

469 名前:デフォルトの名無しさん :02/08/28 22:47
ありがとうございます。
なぜかwinuser.hをインクルードしても定義されていませんってでるんですよね。

windows.hをインクルードしてもたしか自動的にインクルードされるような
気もするんですが。
気のせいだったらすみません。
とりあえず自分でdefineしてみることにします。

470 名前:デフォルトの名無しさん :02/08/28 22:50
WM_MOUSEWHEELはwin98以降の定数だから、なんかdefineしないと定義されないのでは?

471 名前:デフォルトの名無しさん :02/08/28 22:50
DISKTOPのHARDCOPYを取得するプログラムを書いているのですが、
OFFICEアシスタントだけ、キャプチャーできません。
CreateCompatibleBitmapとBitBltを使用しています。

どなたか、お知恵をお貸しください。

環境はVC 6.0、Windows2000です。



472 名前:467 :02/08/28 22:58
>>470
あ、そうですね。
_WIN32_WINDOWSの大きさを0x400以上に定義してみようかと思います。
ありがとうございました。

473 名前:デフォルトの名無しさん :02/08/29 02:01
>>450
セットするほうのリージョンは毎回新しいの生成してる?

474 名前:デフォルトの名無しさん :02/08/29 10:44
もしかしてリージョン毎回生成しないと無理でつか?

最初に作って使いまわしてる・・・(;´Д`)

475 名前:デフォルトの名無しさん :02/08/29 12:56
>>471
そこらへんにころがっているフリーのキャプチャソフトでもとれないし。

もしかしてマウスカーソル?

476 名前:デフォルトの名無しさん :02/08/29 13:45
隠しAPI(の一部であろう(藁)が公開されますた。
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnapiover/html/api-overview.asp

ZDNet(http://www.zdnet.co.jp/news/0208/29/ne00_msapi.html)によると、
>WindowsがWindows Server製品と連係する際に使用する113種の通信プロトコル
らすぃ。
ぱっと見たところ、Shell Functionsが一番数が多いみたいだ。

なんか面白そうな奴見つけたら紹介して( ゚д゚)ホスィ…

477 名前:デフォルトの名無しさん :02/08/29 13:48
あ、ミスったよ。
>WindowsがWindows Server製品と連係する際に使用する113種の通信プロトコル
とは別物だな。

478 名前:デフォルトの名無しさん :02/08/29 13:56
シェル関係のAPIを見てみたけどは2000/XP用のが多いね

479 名前:デフォルトの名無しさん :02/08/29 14:09
SHCreateDirectoryってMakeSureDirectoryPathExistsと同じかね?

480 名前:デフォルトの名無しさん :02/08/29 14:56
http://www.microsoft.com/JAPAN/developer/library/jpntwkpf/_win32_netjoindomain.htm
このAPIでワークグループを変更できるみたいなんですが
使い方がさっぱりです。

できればVB用の使い方を教えてください。

481 名前:デフォルトの名無しさん :02/08/29 15:14
DirectX関係もかくしてたのですか、MSは。

482 名前:480 :02/08/29 15:25
自己解決しました。
Private Declare Function NetJoinDomain Lib "netapi32.dll"_
(ByVal lpServer As String,_
ByVal lpDomain As String_
ByVal lpAccountOU As String,_
ByVal lpAccount As String,_
ByVal lpPassword As String,_
ByVal fJoinOptions As Long_
) As String

こうやったんですが、原文はOPTIONALな部分も
VBではoptionalを指定しちゃうとその後ろの引数を全部optionalに
しなきゃいけないのでoptionalは外しました。


483 名前:デフォルトの名無しさん :02/08/29 15:31
見たことあるAPIも含まれているようなんだけど、
どれが隠しだったの?


484 名前:デフォルトの名無しさん :02/08/29 15:46
今までSHCreateDirectoryExは公開してたが、
今回は隠しAPIであるSHCreateDirectoryを新たに公開した。
・・・ってあんまり得した気がしない。

485 名前:デフォルトの名無しさん :02/08/29 22:52
今回オープンになったので役に立ちそうなのってある?
あんまり見当たらない・・・

486 名前:デフォルトの名無しさん :02/08/29 23:01
IsUserAnAdminが簡単でよい

487 名前:デフォルトの名無しさん :02/08/29 23:35
jpgをビットマップファイルに取り込むためにOleLoadPictureを
使ってみたんですけれど、取り込んだデータ色数はディスプレ
イの設定に依存してしまいます。
get_HandleからDIBSECTIONを参照する方法と、Renderを用いる
方法の2とおり試してみましたが、ダメでした。
やはりライブラリですか?
何か良い方法がありましたら教えてください。

488 名前:デフォルトの名無しさん :02/08/29 23:55
Susie Plug-In

489 名前:デフォルトの名無しさん :02/08/30 00:04
>>488
そういう方法も面白そうです、できればWindows APIで…

490 名前:デフォルトの名無しさん :02/08/30 00:05
XPでユーザが切り替わったのを検知する方法ってあります?
WM_USERCHANGED なんてあれば楽なんですが。

491 名前:デフォルトの名無しさん :02/08/30 00:05
>>487
質問するときは、あげてもいいんじゃない?
というわけで、代わりにage

492 名前:デフォルトの名無しさん :02/08/30 00:44
>>487
DirectShow

493 名前:デフォルトの名無しさん :02/08/30 04:24
ウィンドウのメニューは普通、左側から並んでいますが、
たまぁに右側に一個だけ離れているソフトがありますけど、
あれはどうやっているのでしょうか?


494 名前:デフォルトの名無しさん :02/08/30 04:27
urawaza

495 名前:493 :02/08/30 05:27
>>493
自己解決しました。
ヘルプってか〜。

496 名前:デフォルトの名無しさん :02/08/30 05:46
>>487
>>12

497 名前:487 :02/08/30 08:54
>>492
DirectShowですか。情報不足なので調べてみます。

>>496
GifもJpegもやっかいなことになってしまいましたねぇ。
今回は個人用ということで、見逃してください…。

498 名前:デフォルトの名無しさん :02/08/30 17:12
LoadLibraryでtxtなどのファイルを渡すと「不正なイメージ」という
エラーダイアログが表示されます。
LoadLibraryが失敗したときにはNULLが返ってくるだけで良いので、
このダイアログを表示させないようにするにはどうすればよいのでしょうか?


499 名前:デフォルトの名無しさん :02/08/30 17:48
seterrormode

500 名前:デフォルトの名無しさん :02/08/30 18:04
>>499
arigatou


■過去ログ置き場に戻る■ 1- 前250 次250 最新50
DAT2HTML 0.33f Converted.