AKARI0418 の回答履歴
- 【C#】LINQについての質問です。
【C#】LINQについての質問です。 今、プログラミングLINQ(日経BP)の本を読んでいるのですが、わからないところがありましたので、お分かりの方に教えていただきたいです。 問題の場所は、P87のリスト3-43で、以下のコードです。 わからないのは、このコードの中で、ラムダ式のtとsが何にを指しているのかということです。 お分かりになる方、よろしくお願いいたします。 var expr = from c in customers join o in (from c in customers from o in c.Orders join p in products on o.IdProduct equals p.IdProduct select new { c.Name, o.IdProduct, o.Month, OrderAmount = o.Quantity * p.Price }) on c.Name equals o.Name into orders select new { c.Name, MaxOrder = orders .Aggregate( new { Amount = 0m, Month = String.Empty }, (t, s) => t.Amount > s.OrderAmount ? t : new { Amount = s.OrderAmount, Month = s.Month }) };
- リモートPCで動作しているプロセスにWindowsメッセージを投げるこ
リモートPCで動作しているプロセスにWindowsメッセージを投げることは可能でしょうか? 下記のようなコードで試してみたのですが、ASP.NETでリモートPCのプロセスを取得できています。 これらの中から目的のプロセスをプロセス名で特定し、MainWindowHandleプロパティでウィンドウハンドルを取得します。 これを利用してSendMessageで目的のウィンドウにメッセージを投げようとしていますが、pFoundWindowには0が入っています。 ちなみに目的のプロセスはAdmin権限で実行されていますが、他の権限で実行されているプロセスも同じようにウィンドウハンドルを取得できていません。 [C#] Process[] processes = Process.GetProcesses("servername”); //プロセスリスト取得 foreach (Process p in processes) { if (p.ProcessName == "target_process"){ //目的のプロセスであれば IntPtr pFoundWindow = p.MainWindowHandle; //メインウィンドウのハンドルを取得 SendMessage(pFoundWindow, msg, wParam, lParam); } MSDNには、MainWindowHandleはローカルPCで実行されているプロセスしか取得できないとありましたが、権限の設定等で取得できないのでしょうか? 通常、リモート接続では実行ユーザがNETWIORK SERVICEになるようですが、これをAdmin権限で実行できれば取得できそうな気がします。 これと同様のことをFindWindow関数を使ってもできるのですが、同じくリモートPCのプロセスではウィンドウハンドルを取得できません。 他に良い方法はありませんでしょうか? サーバーはWindows Server 2003 + IIS6.0です。
- ベストアンサー
- Microsoft ASP
- katorea21
- 回答数5
- リモートPCで動作しているプロセスにWindowsメッセージを投げるこ
リモートPCで動作しているプロセスにWindowsメッセージを投げることは可能でしょうか? 下記のようなコードで試してみたのですが、ASP.NETでリモートPCのプロセスを取得できています。 これらの中から目的のプロセスをプロセス名で特定し、MainWindowHandleプロパティでウィンドウハンドルを取得します。 これを利用してSendMessageで目的のウィンドウにメッセージを投げようとしていますが、pFoundWindowには0が入っています。 ちなみに目的のプロセスはAdmin権限で実行されていますが、他の権限で実行されているプロセスも同じようにウィンドウハンドルを取得できていません。 [C#] Process[] processes = Process.GetProcesses("servername”); //プロセスリスト取得 foreach (Process p in processes) { if (p.ProcessName == "target_process"){ //目的のプロセスであれば IntPtr pFoundWindow = p.MainWindowHandle; //メインウィンドウのハンドルを取得 SendMessage(pFoundWindow, msg, wParam, lParam); } MSDNには、MainWindowHandleはローカルPCで実行されているプロセスしか取得できないとありましたが、権限の設定等で取得できないのでしょうか? 通常、リモート接続では実行ユーザがNETWIORK SERVICEになるようですが、これをAdmin権限で実行できれば取得できそうな気がします。 これと同様のことをFindWindow関数を使ってもできるのですが、同じくリモートPCのプロセスではウィンドウハンドルを取得できません。 他に良い方法はありませんでしょうか? サーバーはWindows Server 2003 + IIS6.0です。
- ベストアンサー
- Microsoft ASP
- katorea21
- 回答数5
- リモートPCで動作しているプロセスにWindowsメッセージを投げるこ
リモートPCで動作しているプロセスにWindowsメッセージを投げることは可能でしょうか? 下記のようなコードで試してみたのですが、ASP.NETでリモートPCのプロセスを取得できています。 これらの中から目的のプロセスをプロセス名で特定し、MainWindowHandleプロパティでウィンドウハンドルを取得します。 これを利用してSendMessageで目的のウィンドウにメッセージを投げようとしていますが、pFoundWindowには0が入っています。 ちなみに目的のプロセスはAdmin権限で実行されていますが、他の権限で実行されているプロセスも同じようにウィンドウハンドルを取得できていません。 [C#] Process[] processes = Process.GetProcesses("servername”); //プロセスリスト取得 foreach (Process p in processes) { if (p.ProcessName == "target_process"){ //目的のプロセスであれば IntPtr pFoundWindow = p.MainWindowHandle; //メインウィンドウのハンドルを取得 SendMessage(pFoundWindow, msg, wParam, lParam); } MSDNには、MainWindowHandleはローカルPCで実行されているプロセスしか取得できないとありましたが、権限の設定等で取得できないのでしょうか? 通常、リモート接続では実行ユーザがNETWIORK SERVICEになるようですが、これをAdmin権限で実行できれば取得できそうな気がします。 これと同様のことをFindWindow関数を使ってもできるのですが、同じくリモートPCのプロセスではウィンドウハンドルを取得できません。 他に良い方法はありませんでしょうか? サーバーはWindows Server 2003 + IIS6.0です。
- ベストアンサー
- Microsoft ASP
- katorea21
- 回答数5
- VB.NETのメモリ領域について
VB.NETのメモリ領域について 以下の(1)~(12)の変数のために、 スタック領域、静的領域、ヒープ領域のどこのメモリが使われるか教えてください。 Class Sample Dim a As Integer '(1) Dim b As String = "BBB" '(2) Shared c As Integer '(3) Shared d As String = "DDD" '(4) Sub X() Dim f As Integer '(5) Dim g As String = "GGG" '(6) Static h As Integer '(7) Static i As String = "III" '(8) End Sub Shared Sub Y() Dim k As Integer '(9) Dim l As String = "LLL" '(10) Static m As Integer '(11) Static n As String = "NNN" '(12) End Sub End Class それぞれこんな認識で合ってますか? スタック領域 (1)(5)(9) スタック領域にポインタ+ヒープ領域に実体 (2)(6)(10) 静的領域 (3)(7)(11) 静的領域にポインタ+ヒープ領域に実体 (4)(8)(12)
- ベストアンサー
- Visual Basic
- trap1130
- 回答数2
- VB.NETのメモリ領域について
VB.NETのメモリ領域について 以下の(1)~(12)の変数のために、 スタック領域、静的領域、ヒープ領域のどこのメモリが使われるか教えてください。 Class Sample Dim a As Integer '(1) Dim b As String = "BBB" '(2) Shared c As Integer '(3) Shared d As String = "DDD" '(4) Sub X() Dim f As Integer '(5) Dim g As String = "GGG" '(6) Static h As Integer '(7) Static i As String = "III" '(8) End Sub Shared Sub Y() Dim k As Integer '(9) Dim l As String = "LLL" '(10) Static m As Integer '(11) Static n As String = "NNN" '(12) End Sub End Class それぞれこんな認識で合ってますか? スタック領域 (1)(5)(9) スタック領域にポインタ+ヒープ領域に実体 (2)(6)(10) 静的領域 (3)(7)(11) 静的領域にポインタ+ヒープ領域に実体 (4)(8)(12)
- ベストアンサー
- Visual Basic
- trap1130
- 回答数2
- Recordsetの処理時間について
現在VC++を用いてSQL Server Express 2005のデータベースに対してSQL文を実行しています。 そこで、下記のような現象が発生し、解決できずに困っています。 [現象] 複数のデータベースが存在する(約300)環境に対して、masterデータベースに接続し、個々のデータベースに対してデータベース名を明示的に記述したSQLを実行。 データベース接続したデータベースと異なるデータベースに対するSQLの処理は1ms~500msと処理時間がばらつきます (SQL文はSELECT data1 FROM Db1.dbo.table1 where data1=1;という感じで各テーブルには約3000レコード、SQLの結果は300件程度。Recordset Openメソッドの引数はCursorType:adOpenForwardOnly,Options:adLockReadOnly,LockType:adCmdTextです。)。 まったく同一のSQL文なので、データベース接続後、1回目は時間がかかるのは理解できますが、それ以降の処理を連続で繰返しているだけなので2回目以降処理時間が大きくばらつくことが不明です。 これは同一データベースに対して繰返しても、別々のデータベースに対して繰返してもほぼ同様の現象が発生します。 [確認したこと] - Windows認証、SQL Server認証いずれにおいても同様の傾向。 - 自プロセスあるいは他プロセスからターゲットとなるデータベースに先に接続した状態のままで実行すれば、処理時間のばらつきが1ms~80ms程度 本来、データベース毎に接続-->SQL実行-->解放を繰返せばよいのですが、Vistaにおいてはメモリリークが発生するため、この方法は採用できません。 現状、別プロセスでSQL文を実行するデータベースだけ、先に接続し、処理が完了すればこのプロセスを終了することで回避を考えているのですが、この方法では、SQLServerの負荷をかけてしまうため、よりよい方法が無いか教えてください。 よろしくお願い致します。
- 締切済み
- SQL Server
- andong
- 回答数3
- 用紙サイズを指定して印刷(スクリプトなどで)
プリンタから、テキストファイルを ・印刷するプリンタの指定 ・用紙サイズ設定(任意)を変更 して、印刷したいです。 バッチコマンドで、プリンタの指定と印刷することまではできましたが、印刷時の用紙サイズが、デフォルト(A4)サイズで印刷されました。 これを、ユーザー定義で指定した用紙サイズで印刷したいのですが、 方法がわかりません。 できれば、バッチコマンドか、VBScriptなど 開発環境がないことろでも、自由に変更(メモ帳で開いて編集)できるようにしたいです。 大変恐縮ですが、ご教授いただけますでしょうか? ちなみに、現在 下記のようなバッチコマンドを使用して、 印刷を行っています。 例) notepad.exe /pt "C:\PrintTest.Txt" "%プリンタ名%" よろしくお願いいたします。
- ベストアンサー
- その他(プログラミング・開発)
- a123b123
- 回答数1
- リモートPCで動作しているプロセスにWindowsメッセージを投げるこ
リモートPCで動作しているプロセスにWindowsメッセージを投げることは可能でしょうか? 下記のようなコードで試してみたのですが、ASP.NETでリモートPCのプロセスを取得できています。 これらの中から目的のプロセスをプロセス名で特定し、MainWindowHandleプロパティでウィンドウハンドルを取得します。 これを利用してSendMessageで目的のウィンドウにメッセージを投げようとしていますが、pFoundWindowには0が入っています。 ちなみに目的のプロセスはAdmin権限で実行されていますが、他の権限で実行されているプロセスも同じようにウィンドウハンドルを取得できていません。 [C#] Process[] processes = Process.GetProcesses("servername”); //プロセスリスト取得 foreach (Process p in processes) { if (p.ProcessName == "target_process"){ //目的のプロセスであれば IntPtr pFoundWindow = p.MainWindowHandle; //メインウィンドウのハンドルを取得 SendMessage(pFoundWindow, msg, wParam, lParam); } MSDNには、MainWindowHandleはローカルPCで実行されているプロセスしか取得できないとありましたが、権限の設定等で取得できないのでしょうか? 通常、リモート接続では実行ユーザがNETWIORK SERVICEになるようですが、これをAdmin権限で実行できれば取得できそうな気がします。 これと同様のことをFindWindow関数を使ってもできるのですが、同じくリモートPCのプロセスではウィンドウハンドルを取得できません。 他に良い方法はありませんでしょうか? サーバーはWindows Server 2003 + IIS6.0です。
- ベストアンサー
- Microsoft ASP
- katorea21
- 回答数5
- ネットワーク情報
こんにちは。 Visual Basic.net 2008 + .NetFramework3.5 にて開発をしております。 この時に、サブネットマスク、デフォルトゲートウエイ DHCPの有無、DNSサーバのIPアドレスなどを取得したいのですが どのようにしたらよろしいでしょうか。 .netは不慣れでよくわかってません。 ご教授お願いいたします。
- 締切済み
- Visual Basic
- tab4486
- 回答数2
- テキストボックス内の文字の置き換え
編物用の洋書を日本語に変換するものを作っています 文字を置き換えするときに aaを11に aaaaを2222に置き換えたいのですが Str = RichTextBox1.Text RichTextBox2.Text = str.Replace("aa", "11").Replace("aaaa", "2222") と書くと aaaaが1111に置き換えられます RichTextBox2.Text = str.Replace("aaaa", "2222").Replace("aa", "11") と書けばよいのですが、置き換える単語は、もっと沢山あって・・・・ 完全一致の単語を置き換えるという書き方は、有るのでしょうか? あれば、是非教えてください よろしくお願いいたします
- ベストアンサー
- Visual Basic
- noname#108988
- 回答数4
- VB2008フォームのコンボボックスに、MSSQL2008のデータを表
VB2008フォームのコンボボックスに、MSSQL2008のデータを表示させたい いつもお世話になっております。 以前、VB6を少しかじり、 最近、サンプルコードなどを見よう見まねでvb2008&MSSQL2008について勉強しております。 VB2008で作成したフォームからMSSQLサーバ2008に接続し、 フォームをロードした際、フォーム上にあるコンボボックス(Combobox1)に サーバの指定したテーブル・フィールドの値を表示させたいのですが、 データベースへの接続はできたものの、コンボボックスに表示させる方法がわかりません。 テーブル:社員マスタ フィールド:社員番号 のデータをコンボボックスに呼び出すにはどう処理を加えればよいでしょうか? 今現在、作成中のコードが下記になります。 ご教授お願いします。 Private Sub Frmjob_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load 'リモート接続に伴うパスを格納 Dim St As String Dim Cn As New System.Data.SqlClient.SqlConnection Dim sqlInsert As New SqlClient.SqlCommand Dim SQL As System.Data.SqlClient.SqlCommand Dim ServerName As String = "192.XXX.X.XX" 'サーバーのIPアドレス Dim UserID As String = "sa" 'ユーザーID Dim Password As String = "bluebird" 'パスワード Dim DatabaseName As String = "testDB" '接続先データベース St = "Server=" & ServerName & ";" St &= "User ID=" & UserID & ";" St &= "Password=" & Password & ";" St &= "Initial Catalog=" & DatabaseName Cn.ConnectionString = St SQL = Cn.CreateCommand 'データベースに接続 Cn.Open() 'サーバから呼び出し SQL = New SqlClient.SqlCommand("SELECT 社員番号 FROM 社員マスタ"'), Cn) Me.ComboBox1.Items.Add(Item("JobCode")) Cn.Close() SQL.Dispose() Cn.Dispose() End Sub
- 締切済み
- Visual Basic
- kanagawasan
- 回答数1
- Recordsetの処理時間について
現在VC++を用いてSQL Server Express 2005のデータベースに対してSQL文を実行しています。 そこで、下記のような現象が発生し、解決できずに困っています。 [現象] 複数のデータベースが存在する(約300)環境に対して、masterデータベースに接続し、個々のデータベースに対してデータベース名を明示的に記述したSQLを実行。 データベース接続したデータベースと異なるデータベースに対するSQLの処理は1ms~500msと処理時間がばらつきます (SQL文はSELECT data1 FROM Db1.dbo.table1 where data1=1;という感じで各テーブルには約3000レコード、SQLの結果は300件程度。Recordset Openメソッドの引数はCursorType:adOpenForwardOnly,Options:adLockReadOnly,LockType:adCmdTextです。)。 まったく同一のSQL文なので、データベース接続後、1回目は時間がかかるのは理解できますが、それ以降の処理を連続で繰返しているだけなので2回目以降処理時間が大きくばらつくことが不明です。 これは同一データベースに対して繰返しても、別々のデータベースに対して繰返してもほぼ同様の現象が発生します。 [確認したこと] - Windows認証、SQL Server認証いずれにおいても同様の傾向。 - 自プロセスあるいは他プロセスからターゲットとなるデータベースに先に接続した状態のままで実行すれば、処理時間のばらつきが1ms~80ms程度 本来、データベース毎に接続-->SQL実行-->解放を繰返せばよいのですが、Vistaにおいてはメモリリークが発生するため、この方法は採用できません。 現状、別プロセスでSQL文を実行するデータベースだけ、先に接続し、処理が完了すればこのプロセスを終了することで回避を考えているのですが、この方法では、SQLServerの負荷をかけてしまうため、よりよい方法が無いか教えてください。 よろしくお願い致します。
- 締切済み
- SQL Server
- andong
- 回答数3
- 【VB2008】使用するPCによってラベルのサイズが変わりますorz
【VB2008】使用するPCによってラベルのサイズが変わりますorz 今晩は,いつも勉強させていただいております. 質問させていただきます.どうぞよろしくお願いいたします. Form上のラベルに、それと同じサイズの絵を貼り付けております。 ビルド作成したExeファイルを複数台のPCで使用いたしておりますと、 何故か特定のPCのみラベルと絵のサイズがずれてしまい、 ラベルの中に白い領域ができてしまいます。 おそらく絵のサイズはどのPCでも変わらない(?)と思いますので、 ラベル側のサイズが大きくなってしまい絵との隙間が生じている(?) のかな、などと考えている次第でございますが。。。 もし何かお気づきになられるようなお詳しい方がいらっしゃいましたら, 是非ともアドバイスいただきたくどうぞよろしくお願いいたします。
- ベストアンサー
- Visual Basic
- linelan
- 回答数3
- VB.NET InputBox のMessageの出し方で困っています。
VB.NETの超初心者ですのでよろしくお願いします。月曜夜12時までの宿題提出ですのでご協力いただければ幸いです。 2個のInputBoxへそれぞれ12か月分のRevenue/Expenseをいれます。ButtonRevenueとButtonExpenseと分けてあります。 まず、Revenueを1月から12月までいれたらCloseして、ButtonExpenseでExpenseを入れます。(Dim strInputBoxMessage As String = )"Enter the Revenue amount for the month #12"が最後にでて入力後、buttonExpenseに行くと、どうやっても"Enter the Expsense amount for the month #13"になってしまいます。intMaxNumberOfEntries = 12 はPublicにいれてあります。この#13を#1からスタートしたいのですが、どのようにやったらいいでしょうか。
- ベストアンサー
- Visual Basic
- mspokemon
- 回答数1
- Windows Server CALに関しての質問です。
Windows Server CALに関しての質問です。 現在Windows Sever 2003上でグループウェア(サイボウズ)を運用中で、近々Windows Server 2008に移行する予定です。2003 Serverはそのままファイルサーバ等の別用途で使うとして、新サーバに対してのWinodws Server CAL(2008)が必要になるのでしょうか? 現状Windows Server CAL(2003)を60本分もっており、グループウェアも同数アクセスします。2003のCALは2008のCALを買い直し、もしくはアップグレード的なものがあるのでしょうか。1本3000円程度とはいえ、60本となると金額的にも・・・。
- ベストアンサー
- Windows系OS
- circlek715
- 回答数2
- VBScriptで別ドライブにフォルダを移動できません
VBScriptで別ドライブにフォルダを移動できません VBScriptで別ドライブにあるフォルダを移動したいのですが、以下のエラーで異常終了してしまいます。 Microsoft VBScript 実行時エラー: 書き込みできません。 移動はファイルシステム関連オブジェクトのMoveFolderメソッドを使用しています。 VBScriptで別ドライブにフォルダを移動する方法をご存知でしたらご教示頂けませんでしょうか。 よろしくお願いいたします。
- ベストアンサー
- Visual Basic
- Q13810
- 回答数2
- C#で作成したDLLをExcelに内蔵してVBAで実行する方法
Excel VBAで開発しているのですが制約が多く限界を感じています。C#でDLLを作成してExcelVBAから呼ぶことはできると思いますが、DLLを外付けにするのではなく内蔵することは可能ですか? Excel 2003 .Net Framework 3.5
- 締切済み
- Microsoft ASP
- fasdfasdf
- 回答数1
- Recordsetの処理時間について
現在VC++を用いてSQL Server Express 2005のデータベースに対してSQL文を実行しています。 そこで、下記のような現象が発生し、解決できずに困っています。 [現象] 複数のデータベースが存在する(約300)環境に対して、masterデータベースに接続し、個々のデータベースに対してデータベース名を明示的に記述したSQLを実行。 データベース接続したデータベースと異なるデータベースに対するSQLの処理は1ms~500msと処理時間がばらつきます (SQL文はSELECT data1 FROM Db1.dbo.table1 where data1=1;という感じで各テーブルには約3000レコード、SQLの結果は300件程度。Recordset Openメソッドの引数はCursorType:adOpenForwardOnly,Options:adLockReadOnly,LockType:adCmdTextです。)。 まったく同一のSQL文なので、データベース接続後、1回目は時間がかかるのは理解できますが、それ以降の処理を連続で繰返しているだけなので2回目以降処理時間が大きくばらつくことが不明です。 これは同一データベースに対して繰返しても、別々のデータベースに対して繰返してもほぼ同様の現象が発生します。 [確認したこと] - Windows認証、SQL Server認証いずれにおいても同様の傾向。 - 自プロセスあるいは他プロセスからターゲットとなるデータベースに先に接続した状態のままで実行すれば、処理時間のばらつきが1ms~80ms程度 本来、データベース毎に接続-->SQL実行-->解放を繰返せばよいのですが、Vistaにおいてはメモリリークが発生するため、この方法は採用できません。 現状、別プロセスでSQL文を実行するデータベースだけ、先に接続し、処理が完了すればこのプロセスを終了することで回避を考えているのですが、この方法では、SQLServerの負荷をかけてしまうため、よりよい方法が無いか教えてください。 よろしくお願い致します。
- 締切済み
- SQL Server
- andong
- 回答数3
- vb2008からデータベースのNULL禁止項目を含む変更したい
vb2008とSQLServer2008Expressを勉強しております。 データベース「tblTest」を作成し、DataGridViewからNULLを禁止された項目を含む変更を行う処理で困っています。 tblTestの内容は No|City ---------- 0 |Tokyo 1 |Osaka 2 |Fukuoka 3 |Nagoya としており、NoをNULL禁止にしております。 SQLDataAdapterを使用して UpdateCommand、InsertCommand、DeleteCommandの設定、実行はうまくいきました。 困っている点は、 No |City ---------- 0 |Tokyo 1 |Osaka 2 |Fukuoka 3 |Nagoya ←ここを No |City ---------- 0 |Tokyo 1 |Osaka 2 |Fukuoka 4 |Hokkaido ←この様に変更したい NoとCity両方を変更するような処理をしたい場合についてです。 DataGridView上では値の変更ですが、 処理的にはInsertCommandとDeleteCommandが一緒に実行されるような気がします。 このような場合、どのような処理を行えばいいのでしょうか? For Each Row As DataRow In Table.Rows で1行ずつ処理をかけるのでしょうか? お分かりの方、アドバイスだけでもよろしくお願いいたします。
- ベストアンサー
- Visual Basic
- tree_002
- 回答数2