■WindowsCEプログラミング(EVC PB3含む)Ver2.2■

■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
垢版 |
2007/03/06(火) 12:16:14
WindowsCEプログラミングを話し合うスレッドです。

アプリケーション
ドライバ
プラットフォームビルダからのシステム構築まで幅広く語り合いましょう。

前スレ
■WindowsCEプログラミング(EVC PB3含む)Ver2.1■
http://pc11.2ch.net/test/read.cgi/tech/1102860886/
2007/06/26(火) 15:22:36
CE5.0(not WM5)の開発環境ってVS2005だけ?eVC4では開発出来ないんですか?
ググーてもVS2005の例しか出てこないんですが。
2007/06/26(火) 15:37:21
>>153
問題ない。(要 SP4)
2007/06/26(火) 16:23:54
>153
SP4から対応。
MSDNから送られてきたディスクでSP4が出てたのに気づいた。
2007/06/27(水) 17:54:01
>>154-155
トン
これで心置きなく、開発はVC++で!と推し進められるわ。
157デフォルトの名無しさん
垢版 |
2007/07/06(金) 02:04:07
最近、職場で「出戻り寄生派遣」という言葉が囁かれています。
派遣契約を切られたにもかかわらず「次の派遣先でも切られてしまって生活できません」
などと 言って泣き落としで再契約した派遣のことです。
今月初め、半年前に切った派遣が出社してきてみんなびっくりしました。
影でコソコソ偉い人に泣きついて再契約したそうです。同じ部署の人には黙って・・・
そんなことまでして自宅の近くの派遣先にこだわって人間として恥ずかしくないのですか。
派遣でスキルアップ、派遣で収入アップとか言うなら一箇所にしがみつかず
複数の会社を渡り歩いてください。
ひとつの会社で派遣向けの単調な仕事をしていたらスキルアップなんてありえないでしょう。
身分不相応な商品のローンを払うために派遣だと当然足りない収入は親にも寄生して、
いつ切られるんじゃないかとビクビクしながら人事権のある人間とだけ仲良くし、
契約終了を通知されれば泣き落とし。悲惨な人生ですね。
氏んだほうがいいんじゃないですか。
2007/07/06(金) 13:25:37
ずっとeMbedded Visual Tools 3.0も
Microsoft eMbedded Visual C++ 4.0も
インストールできなくて諦めていたのだけど
ふと思いついて試したらあっさり出来ました。
ネットワークドライブからでは、駄目みたいです。
さあ、何か作るぞ。
2007/07/06(金) 21:05:53
>>158
漏れは3.0がインストールできてSDKが無理だったが他のやつ(USBとかが死んでる)でやったらいけた
でもってeMbedded Visual Basic3.0の使い方がわからんorz
2007/07/09(月) 15:27:27
hosyu>>1-1000
2007/07/09(月) 20:48:38
>>1-161
保守
2007/07/14(土) 17:06:08
>>161
HOSYU
163デフォルトの名無しさん
垢版 |
2007/07/21(土) 18:17:07
・・・
164デフォルトの名無しさん
垢版 |
2007/07/22(日) 10:33:01
>>164
ID表示
2007/07/24(火) 02:16:43
eMbedded Visual Basic 3.0からWinSock APIのsetsockoptを
呼び出したいんですが、どのようにDeclare宣言すればいいのか
分からず悩んでいます。

とりあえず、下記のように宣言して呼び出してみたんですが、戻り値が-1で
異常終了してしまいます。 WinSockのエラーコードは10014が返ってきます。
エラーコード10014は、WSAEFAULT で、無効なバッファアドレスが指定された
のが原因のようです。

Const SOL_SOCKET = 65535
Const TCP_NODELAY = &H1&
Declare Function setsockopt Lib "winsock.dll" (ByVal s As Long, ByVal level As Long, ByVal optname As Long, optval As Long, ByVal optlen As Long) As Long

Dim lSockOpt As Long
Dim lOptLen As Long
Dim lResult As Long
Dim lLastErr As Long
   
lSockOpt = 0
lResult = setsockopt(WinSock1.SocketHandle, SOL_SOCKET, TCP_NODELAY, lSockOpt, LenB(lSockOpt))
lLastErr = GetLastError

eMbedded Visual Basic 3.0からsetsockopt APIを正常呼び出しするには、
どのようにDeclare宣言すればよいかアドバイスをお願いします。
上記コードで間違いがあればご指摘下さい。
166165
垢版 |
2007/07/24(火) 02:25:04
165です。

ググるとVB6のsetsockoptのDeclare宣言を見つけることができますが、
第4引数のoptvalがAny型で宣言されており、eVB3では使えない型で
あるためLong型に置き換えて宣言したのですが、これがマズイのでしょうか?
2007/07/24(火) 08:57:07
マズい。Any型はバリアントとして定義しろ。
168165
垢版 |
2007/07/24(火) 09:52:02
>>167
レスありがとうございます。

早速Variant型で宣言してみましたが、結果は同じくエラーコードは10014が返ってきました・・・
Declare Function setsockopt Lib "winsock.dll" (ByVal s As Long, ByVal level As Long, ByVal optname As Long, optval As Variant, ByVal optlen As Long) As Long
2007/07/24(火) 15:09:10
宣言はそれであっていても呼び出し方が間違っているんじゃないのか?
周辺のソケットハンドル取得するところから全部晒してみろ。
170165
垢版 |
2007/07/24(火) 16:34:41
>>169
>宣言はそれであっていても呼び出し方が間違っているんじゃないのか?

その通りでした。
結論から言うと、第2引数にIPPROTO_TCPを渡していなかったのが一番の原因で、
あと第5引数をLenBでサイズ取得していたのを直値指定することでsetsockoptが
正常終了するようになりました。

lSock = WinSock1.SocketHandle
lSockOpt = 0
lResult = setsockopt(lSock , IPPROTO_TCP, TCP_NODELAY, lSockOpt, 4)

しかしまだ根本的な問題がクリアできていません。
そもそも何故 setsockopt で TCP_NODELAY を設定しようとしたかと言うと、
eVB3でWinSockコントロールを使って10バイトのデータをサーバに送信しようと
した場合、1パケットで10バイト送信してほしいのに、何故か2分割されて初めに
1バイトだけ送信されて、続いて9バイト送信されるという現象が起きたためでした。

単純に、WinSock1.SendData ("1234567890") とすると、
サーバには、
1
234567890
という感じで2分割されて送信されてしまいます。

この現象はVB6では発生しないので、eVB3特有のものかもしれません。
解決方法がお分かりの方、アドバイスを宜しくお願いいたします。
171165
垢版 |
2007/07/24(火) 16:39:03
簡単な現象再現用のコードを張っておきます。(投稿用にエラーチェック類は省きました)
フォームにコマンドボタン(cmdConnect、cmdDisconnect、cmdSend)3つと、WinSock
コントロール(WinSock1)を1つ張っています。
Const IPPROTO_TCP = 6
Const TCP_NODELAY = &H1&
Declare Function setsockopt Lib "winsock.dll" (ByVal s As Long, ByVal level As Long, ByVal optname As Long, optval As Variant, ByVal optlen As Long) As Long
Declare Function GetLastError Lib "coredll.dll" () As Long

Private Sub cmdConnect_Click()
    WinSock1.Protocol = sckTCPProtocol
    WinSock1.RemotePort = 7777
    WinSock1.RemoteHost = "192.168.0.100"
    WinSock1.Connect
End Sub

Private Sub cmdDisconnect_Click()
    WinSock1.Close
End Sub

Private Sub cmdSend_Click()
    Dim lSock As Long
    Dim lSockOpt As Long
    Dim lResult As Long
    Dim lLastErr As Long

    lSock = WinSock1.SocketHandle
    lSockOpt = 0
    lResult = setsockopt(lSock, IPPROTO_TCP, TCP_NODELAY, lSockOpt, 4)
    lLastErr = GetLastError

    WinSock1.SendData ("1234567890")
End Sub
2007/07/24(火) 16:54:33
パケットが分割されてようがデータとしてはちゃんと届いてるんでしょ
それが問題になるプログラムが悪い
173165
垢版 |
2007/07/24(火) 17:03:47
おっしゃる通り、データサイズが小さいからって1パケットでデータ受信することを
前提にしたサーバアプリなんておかしいのですが、サーバアプリは自分で作った
ものではなく、変更できないのです・・・
そこで送り側が苦労しているという始末です orz
174172
垢版 |
2007/07/24(火) 17:19:36
それはすまんかった。
手元に環境無くて試せないけど、一つだけ。
TCP_NODELAYを有効にしたいのなら、値は1にしなきゃ駄目なのでは?

ttp://support.microsoft.com/kb/237688/ja

' Change two options valid for TCP Sockets.
lResult = setsockopt(Winsock1.SocketHandle, IPPROTO_TCP, TCP_NODELAY, 1, 4)
If (lResult = SOCKET_ERROR) Then
MsgBox "Error setting TCP_NODELAY option: " & CStr(Err.LastDllError)
End If
175165
垢版 |
2007/07/24(火) 17:42:58
>>174

ご指摘のとおり値を1にしてみましたが、分割送信されてしまいました。。。
値が0でも1でも結果が同じっていうのは、他に何か原因があるのでしょうか?

また教えていただいたMSのページを見ると、第4引数がByRef定義されているのに
呼び出し側は値渡ししているのが気になったのでサンプルと同じく値渡しで0と1の
両方を試してみましたが残念ながら同じ結果となりました・・・orz
2007/07/24(火) 18:08:50
そりゃサーバ側をなんとかするしかないんじゃね?
177172
垢版 |
2007/07/24(火) 18:16:49
うーん。やっぱりoptvalがちゃんと渡ってないんじゃ。
optvalの宣言をLongにしてこうしたらどうだろ。

Declare Function setsockopt Lib "winsock.dll" (ByVal s As Long, ByVal level As Long, ByVal optname As Long, ByVal optval As Long, ByVal optlen As Long) As Long

lSockOpt = 1
lResult = setsockopt(lSock, IPPROTO_TCP, TCP_NODELAY, VarPtr(lSockOpt), 4)

Cで書ければいんだけど。これで駄目なら┐(´ー`)┌
178165
垢版 |
2007/07/24(火) 19:24:33
>>176
それがサーバアプリは変更不能らしく無理なんです・・・orz

>>177
eVB3にVarPtrってありましたっけ?と思いながら試したところ
やっぱりeVB3では使えないようです。

こりゃ、お手上げですね。 orz
179デフォルトの名無しさん
垢版 |
2007/07/24(火) 21:11:25
無理にCE側をなんとかするんじゃなくってサーバアプリにアクセスするサーバアプリを作ればいいんだよ
2007/07/24(火) 21:28:52
というか、getsockoptでちゃんと現在値をとって確認しないと・・・

>179
なるほど、プロキシか。その手はあるな。
181165
垢版 |
2007/07/24(火) 21:30:52
>>179

中継サーバアプリを作る時間的余裕が無いもんで厳しいです・・・
とりあえず最終手段でMSのインシデント使って質問中です。
182165
垢版 |
2007/07/24(火) 21:32:47
>>180

getsockoptで現在値は確認済みで、0が返ってきています。
2007/07/24(火) 21:41:17
一気にwriteするときは、nagle関係ないはずだけど、
1byteだけ先行するってのはEVBのランタイムは
どうなってるんだろうかね。String->BYTE変換で
ちまちまwrite発行してるのかね。
184165
垢版 |
2007/07/24(火) 21:49:49
>>183

詳細はMSの中の人しかわかりませんが、もしかしたらそうかもしれませんね。
2007/07/25(水) 03:30:36
>>182
それって、optvalのところはVariantで宣言してるんでしょ?
ちゃんと取れてるかは怪しいような…
いや、nagle関係無い可能性の方が高いか

1. VBやめてCで作る
2. setsockoptの部分だけCで書く
3. sendの部分だけCで書く

サーバ側の処理がどうなってるか知らんけど、データを
" 1234567890"と細工してsendしたら分割された二つ目の
パケットだけ処理してくれたりは…しないよな
186165
垢版 |
2007/07/25(水) 15:20:08
>>182

MSへの問い合わせもeVB3のサポートライフサイクルが終了しているので
製品不具合と分かった場合でもインシデントを消費するけどいいかとの
調査前提条件の連絡があったので、キャンセルしました。

もうeVBと格闘するのも疲れたので、eVCで作り直すことにしました。 orz
(他にもConnect時に7秒程度ブロッキングされたりするのが問題なので・・・)

ということで、いろいろアドバイスいただいた方々、本当にありがとうございました。
187デフォルトの名無しさん
垢版 |
2007/07/30(月) 00:55:42
全然詳しくないので質問させてください。
いつも仕事中にWebばかり見てる派遣クンが
「CEがプログラムどおりに動かない原因を調べるのは僕の仕事ではありません。」
と言っています。
彼のCEプログラムが動かないのを調べるのは誰の仕事なのでしょうか?
2007/07/30(月) 01:15:18
>>187
CEはハードのことかソフトのことかわからん
そもそも彼の職種がわからん
2007/07/30(月) 01:16:33
仕事の指示出している人間に聞けよ。
指示または契約がそうなっていないんなら、それは派遣クンの
仕事じゃないんだろ
2007/07/30(月) 01:20:25
少なくとも派遣クンのバグでないことを証明するのは派遣クンの仕事だろ
それを別の人間がやるなら派遣クンの存在自体に意味がないだろ
2007/07/30(月) 01:25:34
こんなのに釣られるなよ
いつもの派遣叩きの変化形じゃないか
2007/07/30(月) 01:30:46
夏厨ウザイ
VBスレでやれ
組み込みに派遣使うよーな厨会社なんていねーよ

2007/07/30(月) 01:56:52
無線LANの電界強度と電池の残量を取得するDLLを作る必要がある訳だが。
未だに技術者を見つけて来てくれない('A`
2007/07/30(月) 02:30:02
まるち
2007/07/30(月) 08:59:35
せりお
2007/07/30(月) 09:38:00
ぴーす
2007/08/01(水) 22:42:06
wininet使ってる市販アプリを導入してるんですが、timeoutまでの時間が
長すぎるのでどうにかしたいと調査中です。

製造元に確認してもwininet(OS)の仕様に依存するので一切答えられない
と言われて八方塞です。

レジストリ設定とかでtimeoutまでの時間を任意に設定する事は出来ないん
でしょうか?ちなみにWM5.0です。
2007/08/01(水) 23:24:14
何のタイムアウトだ?
2007/08/02(木) 00:45:56
>>197
WinINet では InternetSetOption() を使って接続/受信/送信タイムアウトを個別に指定できるはず。

よって OS(or WinINet)の仕様ではなく、アプリケーションの実装の問題。
このオプションは接続毎に指定するもので、レジストリ等、外部からの設定も無理そう。

しかし、念のためにぐぐってみたら、こんな記事もあったりして、一概に実装の問題とも
言いきれない可能性もあるが。
ttp://support.microsoft.com/kb/917549/en-us
ttp://support.microsoft.com/kb/q176420/
200デフォルトの名無しさん
垢版 |
2007/08/04(土) 20:49:42
ワーカースレッドで SetTimer してもタイマが稼動しないのは何故ですか?
CWnd を継承したクラスを作成してそいつのオブジェクトをワーカが保有している形なのですが・・・
ちなみにメインスレッドでは稼動するようなのでスレッドの問題だとほぼ断言できます
2007/08/04(土) 20:57:17
>>200
ttp://msdn.microsoft.com/library/ja/default.asp?url=/library/ja/jpwinui/html/_win32_settimer.asp
では、hWndの説明として、
このウィンドウは、呼び出し側のスレッドが所有しているものでなければなりません。
とあるな。
202デフォルトの名無しさん
垢版 |
2007/08/04(土) 21:10:40
>>201
CWnd::SetTimer を使用しているのですが・・・
203デフォルトの名無しさん
垢版 |
2007/08/04(土) 21:27:54
>>201
呼び出しスレッドはワーカースレッドです
従ってその仕様には当たらないように思いますが・・・
2007/08/04(土) 21:36:50
>>203
そのワーカースレッドでウィンドウ作成したのか?
205デフォルトの名無しさん
垢版 |
2007/08/04(土) 21:46:48
構成としては以下のような感じです。



メインスレッド(各ワーカスレッドをメンバ変数として保有/管理)

ワーカスレッド(以下のクラスのインスタンスをメンバ変数として保有/管理)

CWnd を継承したクラス
 コンストラクタで自身を CreateEx している
 ワーカスレッドから StartTimer みたいな関数を呼ばれた際に SetTimer する
 このクラスの OnTimer が反応しない・・・
2007/08/04(土) 22:51:58
>>205
ウィンドウを作成するなら、ユーザーインタフェーススレッドを使うんじゃないの。
ワーカースレッドだとウィンドウメッセージを処理するために必要なメッセージポンプ
が回らないとか基本的な部分で問題がありそうな感じがする。

タイマ以外のメッセージは受信できてる?
207デフォルトの名無しさん
垢版 |
2007/08/05(日) 16:45:34
WindowsCE 上でランダム関数を正常に使用する方法を教えてください

srand(time(NULL));
int r = rand() % 64;

と 0-63 の範囲でランダム値を取得しようと思ったのですが
time(NULL) の辺りでコンパイラに弾かれます

ちなみに #include <time.h> などのインクルード記述はしています
2007/08/05(日) 17:11:13
>>207
よくわからんけどキャストしたら
2007/08/05(日) 17:54:42
つうかエラーメッセージくらい貼れよ
2007/08/05(日) 17:56:55
>>208
よくわからずにキャストするのは、何かに負けの気がするので、嫌です。
2007/08/05(日) 18:00:02
time()って無いんじゃなかったかしら…
2007/08/05(日) 19:18:42
いくらなんでも、それぐらい自分でなんとかしろ
2007/08/05(日) 23:27:51
pocketPCでゲーム作ってるんだが、BGM入れるとキツイなあ
oggなんだけど、9fpsしかでない、、、
pocketPCでBGM入れるのは無理かな
214213
垢版 |
2007/08/05(日) 23:36:38
完全にデコードしてからなら余裕だが、ストリーミングだと死ぬ
でもデコード時間が長いしメモリも食う(^^;)
どうすればいいんだ
2007/08/06(月) 00:14:11
adpcmにしろ
216213
垢版 |
2007/08/06(月) 01:12:01
>>215
ADPCMを使うとかなり圧縮できました。
1分約500KBほどですが、これならわざわざoggにエンコードして使う必要は全く無かったです。
しかもほぼそのまま使えるから高速ですね。
これでやってみます。ありがとうございました。
217213
垢版 |
2007/08/06(月) 06:21:29
やりました!バッチリです!
音楽を鳴らしても数フレームしか消費しません!
これでやっと本腰を入れられます(^^)
2007/08/07(火) 09:51:30
いきなり「ですsます調」に変わってワロタ
219
垢版 |
2007/08/07(火) 09:52:46
sが入ってもた
2007/08/12(日) 15:03:58
このスレではお初です。
モバイル板でGSFinder+のカスタマイズ版を弄ってるものです。

本日こんな要望が来たんですが。
http://pc11.2ch.net/test/read.cgi/mobile/1185556067/728-731
要は、ツリービューの1階層分の幅を縮めてほしいらしいのですが、何か方法ありますでしょうか?
ググるなどして調べても、それらしい情報が見つけられなかったので。
2007/08/13(月) 10:39:40
自分で作るしかないんじゃ?

OwnerDrawとかも使えそうではあるが、
TreeViewだと、.net2.0以降だしな・・・
2007/08/13(月) 14:28:03
>>220
もともとツリービューは小さいアイコンのサイズ(SM_CXSMICON,SM_CYSMICON)を基準に作られてるから、
ツリービュー内部の処理を変更しない限り完全な解決は無理っぽい。
自分がチャレンジしたときはTVM_SETITEMSPACING、TVM_SETINDENTとかカスタムドロー(ツリービューに
オーナードローは無い)とか色々小細工を試みたが挫折した。
どうしても見た目にこだわるならリストビューにインデントつけてツリーもどきにするのが早いかも
2007/08/13(月) 18:12:05
>>222

http://msdn2.microsoft.com/ja-jp/library/system.windows.forms.treeview.drawmode(VS.80).aspx

対象プラットフォームには入ってるけど、使えるかどうかは(ryだけど。
2007/08/13(月) 19:57:45
うーん、全部APIでやってるから.NET Compact Frameworkはちょっと使えそうにないし…。
これだけのためにツリービューモドキを仕立てるのも大げさすぎるし、そもそも私のスキルじゃ無理そうです。

この件は対応不能ということで流します。
情報ありがとうございました。
2007/08/15(水) 21:14:17
VS2005のC#で自分のad[es]用に
しょぼいアプリを作っているのですが、
エミュでは、ちゃんとレイアウトできているのですが、
実機にもっていったところ、横一列のボタンが
リストビューの下に置いているのにおもいっきり
重なって表示されてしまいます。
Dockをいろいろいじっても解決しません。
何か注意する点てありますか。
226デフォルトの名無しさん
垢版 |
2007/08/16(木) 09:15:01
薄汚い派遣の国、日本

最近、職場で「出戻り寄生派遣」という言葉が囁かれています。
派遣契約を切られたにもかかわらず「次の派遣先でも切られてしまって生活できません」
などと 言って泣き落としで現場マネージャーにすら一切話がないまま再契約した派遣のことです。
今月初め、半年前に切った派遣が出社してきてマネージャーも含めみんなびっくりしました。
影でコソコソ偉い人に泣きついて再契約したそうです。同じ部署の人には黙って・・・
そんなことまでして自宅の近くの派遣先にこだわって人間として恥ずかしくないのですか。

仕事に必要な技術がなく勉強する気もないのを逆手にとって
「私のような人の視点で仕事をすることも大切だと思います」と挨拶された時には
みんな絶句していました。派遣でスキルアップとか言ってる癖に技術を勉強する気はなく
「それは私の仕事ではありません」の一点張り、派遣で収入アップとか言ってる癖に
時給は前回と同じで喜んで再契約。
結局、なんの努力もせずに派遣で安直に収入を得たいだけじゃないですか。

身分不相応な商品のローンを払うために派遣だと当然足りない収入は親にも寄生して、
いつ切られるんじゃないかとビクビクしながら人事権のある人間とだけ仲良くし、
契約終了を通知されれば泣き落とし。悲惨な人生ですね。
氏んだほうがいいんじゃないですか。
2007/08/23(木) 11:35:34
今ソフトを作ってて、その中でレジストリキーを作成したり削除したりするんですが
キーの削除がうまくいかないことがあって悩んでます。
RegDeleteKeyW でキーを削除すると 5 ( ACCESS Denied ) が返ってきてしまいます。
削除しようとしているキーは、他のソフトが使っているキーでレジストリを監視している
のかもしれません。
気づいたのですが、WM5 から TRE でキーを削除しようとすると「削除できませんでした」と
表示されることが多くなったような気がします。
WM5 では、キー削除をする場合何かしなければならないことがあるのでしょうか?
2007/08/23(木) 12:04:55
それはOpen/Createが正しくできていないだけ。
2007/08/23(木) 12:40:41
>>228
さっそく返信ありがとうございます。
リファレンス見てると Open/Create しなくてもそのまま RegDeleteKey に
キー名を渡せば削除できるんだと思っていました。
ちょっと Open してから削除してみます。
2007/08/23(木) 13:08:16
>>228
RegCreateKeyEx でキーを開いてから RegDeleteKey で削除してみましたが、やはり
同じく 5 が帰ってきてしまいました。
RegCreateKeyEx の戻り値は 0 ( ERROR_SUCCESS ) なのでちゃんと開いているようです。

やはり何か必要なのでしょうか?

2007/08/23(木) 13:45:29
RegCreateKeyEx は KEY_ALL_ACCESS 指定してる?
サブキーがあったりしない?
そもそもそこに書き込むことが可能な権限はあるの?
2007/08/23(木) 14:11:53
Open/Create からCloseまでの数行を載せた方が答えが早い気がす。
2007/08/23(木) 14:32:56
>>232
そうですね。コードを書いてみます。
.NET CF1.0 で P/Invoke をつかって API を読んでいます。

\HKLM\SOFTWARE\hoge\Key\DeleteKey を削除しようとしています。

[DllImport("coredll.dll", SetLastError = true)]
public static extern int RegCreateKeyEx
(
UIntPtr hkey,
String lpSubKey,
uint Reserved,
System.Text.StringBuilder lpClass,
uint dwOptions,
KeyAccess samDesired,
IntPtr lpSecurityAttributes,
ref UIntPtr phkResult,
ref uint lpdwDisposition
);

[DllImport("coredll.dll", SetLastError = true)]
public static extern int RegDeleteKey
(
UIntPtr hkey,
string subkeyName
);

UIntPtr hkey = UIntPtr.Zero;
uint disposition = 0;
int openResult = RegCreateKeyEx(new UIntPtr(0x80000002), @"SOFTWARE\hoge\Key", 0, null, 0, 0, IntPtr.Zero, ref hkey, ref disposition);
int deleteResult = RegDeleteKey(hkey, "DeleteKey");
2007/08/23(木) 14:58:27
まずお前に必要なのは推測する能力だ。
RegOpen/Createしたあと正しくQueryValueできているか確認はしたのか。SetValueではどうなのか。
人に聞く前に手元で試せることはいくつかあるだろう。
2007/08/23(木) 14:58:34
RegCreateKeyExの6番目のパラメタにKEY_ALL_ACCESS(0xF003F)
入れてみて
2007/08/23(木) 15:00:22
>>233
最後から二行目の「\」を「\\」にしてやってみろ。
2007/08/23(木) 15:04:20
>>236
@"" ←これ知らんのか。
2007/08/23(木) 15:05:27
C#だしな
2007/08/23(木) 16:24:39
>>234
でた評論家野郎。
2007/08/23(木) 16:56:10
だが>>234みたいなことは10分もあれば試せるわけだが。
2007/08/23(木) 17:01:01
まあ質問の中に、これらもやったけど成功/失敗したという
情報があるとまた解決も早いよね。とりあえずアクセスマスクが
0なんだから全部失敗すると思うが。

読み書きしないでいきなり削除ということは、よそのプログラムが使う領域なんだろうなあ
2007/08/23(木) 17:22:13
つーかもう完全に調べずにやっちゃいましたー!!ぽいよね。
実際にレジストリ操作しているサンプルソースを
探してから作れば絶対こうはならんだろって感じ。
2007/08/30(木) 01:55:40
またまたお邪魔します。
前回のツリービューに続き、GSFinderのハイレゾ化にチャレンジしてるんですが。

ステータスウインドウとコンボボックスの高さを縮めようと、MoveWindowやSetWindowPosを使ってみたんですが、全く大きさが変わりません。
フォントは小さくできたので、縦を縮められれば、見た目はハイレゾっぽくできるはずなのですが…。
これらの高さって、もしかして固定だったり、一定値以下に設定できなかったりします?
何か注意することとかあれば教えていただけると助かります。
2007/08/30(木) 02:29:08
上記を書いた後でSB_SETMINHEIGHTというメッセージを見つけたものの、送っても変化なし。
送った後WM_SIZEを送れとか書かれてたので、それも試しましたが、やはり変化無し。
やっぱり一定以下には小さくできないのかなぁ。
2007/08/31(金) 23:47:36
>>243
レジストリに書いてあるんじゃなかったっけ?
うろ覚えなので何かと混同してるかもしれん
すまん…
2007/09/01(土) 01:27:55
VS2005を使ってActiveSyncから配置していたのですが、
ある時から突然配置がとんでもなく重くなり、接続が切れてデバッグ出来なくなりました。
デバイス側の初期化はしたのですが、いっこうに解消せず困っています。

なにか関連するようなことがあれば教えていただけないでしょうか?
2007/09/01(土) 10:57:40
>>246
よくわからんが、USB接続ならドライバ辺りを疑ってみるとか。
2007/09/01(土) 11:29:27
>>247
片っ端から関連する物を再インストールしていったら、ActiveSync自体が
原因だったらしく、再インストールしたら直りました。
何でこんなところが…

ご迷惑をおかけしました。ありがとうございました。
249デフォルトの名無しさん
垢版 |
2007/09/01(土) 14:11:55
漫画で学ぶWindowsCE
ttp://www.geocities.jp/sakusyu2006/index1.html
ttp://www.geocities.jp/sakusyu2006/index4.html
2007/09/01(土) 16:44:54
質問です。
.NETのWebResopnseを使ってストリーミングデータをダウンロードしているのですが、
ダウンロードを中断しようとしてClose()をしようとするとそこで止まってしまいます。
普通のファイルをダウンロードするときにはちゃんと切断できるのですが…

なにかヒントだけでもいただけないでしょうか?
251デフォルトの名無しさん
垢版 |
2007/09/03(月) 01:08:27
eVC++4.0 で WindowsMobile (W-ZERO3シリーズ)上で動くソフトを
MFCで作ってみたら、メニューでテキストを

&1:項目1

とかやってショートカットキーを1 としたいのに、走らせると

1:項目1 (&A)

という扱いにされて、ショートカットキーが勝手にA,B,C,D で振り直されます。

こういう余計なマネをさせないオプション等の指定方法ってあるんでしょうか?
2007/09/03(月) 08:49:21
>>245
返答、どうもありがとうございます。
レジストリに書かれているとなると、他のソフトへの影響がありそうなので諦めます。
2007/09/03(月) 11:47:06
>>251
仕様ということに仕様じゃまいか。
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況