トップページ⇒tech
1001コメント302KB

ふらっとC#,C♯,C#(初心者用) Part82

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん2011/12/14(水) 19:44:03.87
このスレッドは
「どんなにくだらないC#プログラミングに関する発言でも誰かが優しくレスをしてくれるスレッド」です。立てる前に埋めんなよチンパンども。
ほかのスレッドでは恐ろしくて書き込めないような低レベル、もしくは質問者自身なんだか意味がよく分からない質問、
ググろうにもキーワードが分からない場合など、勇気をもって書き込んでください。
内容に応じて、他スレ・他板へ行くことを勧められる、あるいは誘導される場合がありますがご了承下さい。

なお、テンプレ2行目が読めない回答者は邪魔なので後述のC#相談室に移動して下さい。

>>980を踏んだ人は新スレを建てて下さい。
>>980が無理な場合、話し合って新スレを建てる人を決めて下さい。

■前スレ
ふらっとC#,C♯,C#(初心者用) Part81
http://toro.2ch.net/test/read.cgi/tech/1321434660/

■関連スレ
C#, C♯, C#相談室 Part69
http://toro.2ch.net/test/read.cgi/tech/1323354868/
ミスターサタンのC#相談室 
http://hibari.2ch.net/test/read.cgi/tech/1092656075/
VB.NET質問スレ(Part37)
http://hibari.2ch.net/test/read.cgi/tech/1317448996/
くだすれC++/CLI(初心者用)part2
http://hibari.2ch.net/test/read.cgi/tech/1268613679/
0153デフォルトの名無しさん2011/12/18(日) 22:31:03.65
>147
あなたが違いが分からずに使っているんですよ。
0154デフォルトの名無しさん2011/12/18(日) 22:35:31.90
Dictionary<TKey, TValue>.Add()のドキュメントも読まずに質問してるはずはないよね? ね?
0155デフォルトの名無しさん2011/12/18(日) 22:47:08.07
>>151
System.Windows.Forms.Timerにしたらうまくいきました

>>152
System.Threading.Timerではフォームにアクセスできないようです
0156デフォルトの名無しさん2011/12/18(日) 22:48:37.16
>>144くん!一緒にunityスレにかえろう!
0157デフォルトの名無しさん2011/12/18(日) 22:49:15.30
誤解を招く言い方をするなよ
System.Threading.TimerだろうがアクションをUIスレッドで実行すればアクセスできるわ
0158デフォルトの名無しさん2011/12/18(日) 22:50:17.76
ペアを保存できると思って安易に辞書を使ったんだなあん
0159デフォルトの名無しさん2011/12/18(日) 23:28:14.70
>>148
メチャ勉強になるなあ。
TryGetValueと書き換えプロセスに変数をかますことを検討します。

>>149
キーがふたつ、同じ要素についてるんですね。直接書き換えるのはムリなんですね。

>>153
そういえばそうだ。

>>150
あそこは荒らしが居る・・・ガクブル・・・・

>>158
ワラにもすがる思いで・・・
arraylistにulongが保存できればこんなことには・・・
これがダメなら次はHashtabelにてを出すしかない!
0160デフォルトの名無しさん2011/12/18(日) 23:38:15.08
ちょっと誰かこの子の脳みそバージョンアップしたげて
駄目だこれ
0161デフォルトの名無しさん2011/12/18(日) 23:42:24.63
ちょっと文字ベースで語らえるレベルに達してないな。
0162デフォルトの名無しさん2011/12/18(日) 23:47:56.15
そんなに?
0163デフォルトの名無しさん2011/12/18(日) 23:49:27.53
キューのように一個入ったら後ろが一個出て行く配列を作りたいだけなのに・・
0164デフォルトの名無しさん2011/12/18(日) 23:56:38.35
キューならQueue<T>使えよ
0165デフォルトの名無しさん2011/12/18(日) 23:56:45.43
intで格納してulongでcastすればいいんでないかい?
0166デフォルトの名無しさん2011/12/19(月) 00:00:56.40
AKB48ってなんで64じゃなくて48なんだろう?48進数?
桁上がりは誰になるんだろう?
0167デフォルトの名無しさん2011/12/19(月) 00:13:08.52
16*3
0168デフォルトの名無しさん2011/12/19(月) 00:14:13.24
キューというかMRU?
問答無用で上書きするリングバッファ用意するだけじゃね?
0169デフォルトの名無しさん2011/12/19(月) 00:34:37.50
Queueでやってみたが重過ぎるwww
180fps出てたのが8fpsとか。
うーむ・・・
0170デフォルトの名無しさん2011/12/19(月) 00:40:32.08
>>165
ありがとう。検討させてもらう。ただあまり重くなる処理はちょっと・・・

>>168
それまた調べさせてもらうわ。ここの人は親切だな。

このexampleってファイルで#defineで文字列を数字に定義できれば問題は全て解決されるんだけど・・・
http://unity3d.com/support/documentation/Manual/Platform%20Dependent%20Compilation.html

C#には文字列を数字に定義する事ができないって言うじゃないか・・お茶吹いたわ・・
0171デフォルトの名無しさん2011/12/19(月) 00:41:33.65
日本語でおk。
0172デフォルトの名無しさん2011/12/19(月) 00:46:20.21
日本語もダメなのか・・・
0173デフォルトの名無しさん2011/12/19(月) 00:58:08.28
初心者スレだから!許してあげて!
0174デフォルトの名無しさん2011/12/19(月) 01:00:43.71
C#の初心者はいいけど、日本語の初心者はちょっと…
0175デフォルトの名無しさん2011/12/19(月) 01:12:26.10
>>327だなwアラブ脳の恐怖だわ
しかし国語の授業で何か役に立ったことなんて在っただろうか?
0176デフォルトの名無しさん2011/12/19(月) 01:13:49.02
あ、誤爆。回線切って屁ぇコイて寝ますわぁ
0177デフォルトの名無しさん2011/12/19(月) 01:21:26.80
enumを使いたいってこと?日本語がわからん
0178デフォルトの名無しさん2011/12/19(月) 01:25:59.34
中途半端にCかC++を触ったことがあるみたいな感じだよな
0179デフォルトの名無しさん2011/12/19(月) 01:30:41.58
using UnityEngine;
using System.Collections;

public class PlatformDefines : MonoBehaviour {
void Start () {

#if UNITY_EDITOR
Debug.Log("Unity Editor");
#endif

#if UNITY_IPHONE
Debug.Log("Iphone");
#endif

#if UNITY_STANDALONE_OSX
Debug.Log("Stand Alone OSX");
#endif

#if UNITY_STANDALONE_WIN
Debug.Log("Stand Alone Windows");
#endif

}
}

>このexampleってファイルで#defineで文字列を数字に定義できれば問題は全て解決されるんだけど・・・

って言うけど全然どこが問題なのか分からん
参照設定してあれば動くだろこれ
0180デフォルトの名無しさん2011/12/19(月) 01:33:59.34
C#の#ifはC/C++でいう#ifではなく#ifdefに相当する
0181デフォルトの名無しさん2011/12/19(月) 01:35:53.78
>>177
#define HOGE 9999

これがしたいだけ
C/C++のプリプロセサ識別子のことを、この子は”文字列”と呼んでいるから意味不明気味になってる
0182デフォルトの名無しさん2011/12/19(月) 01:38:25.67
全然気味じゃないけどな。
0183デフォルトの名無しさん2011/12/19(月) 01:43:40.21
ひとまずUnityなんて諦めてC#の入門書買ってきたほうが早いと思いますよ
0184デフォルトの名無しさん2011/12/19(月) 02:07:01.64
>>183
どれ買えばいいかな?
独習c#だけ読んだ。
0185デフォルトの名無しさん2011/12/19(月) 02:10:50.98
嘘つけ
読んでないだろ
0186デフォルトの名無しさん2011/12/19(月) 02:21:05.23
本当に読んでそれならプログラミング向いてないよ
0187デフォルトの名無しさん2011/12/19(月) 02:36:45.61
>>185-186
信じてくれ。
読んでこれなんだ。
0188デフォルトの名無しさん2011/12/19(月) 02:41:20.43
今まで独学でC#関連の書籍は読んだこと無いな。
これを期に買ってみようと思うんだが、何かオススメはある?
0189デフォルトの名無しさん2011/12/19(月) 05:12:58.38
>>187
なんというか、C#以前の問題すぎてヤバい。

#define での定数定義とか、C++でもやっちゃダメな部類のことよ。
const 使う。
0190デフォルトの名無しさん2011/12/19(月) 05:33:50.17
C#始めたころに読んだのは
C#のパッケージに入ってた、はじめてのC#と
本屋で買った使える500の技ってやつだったな
これだけでそれなりにはできた
全部イベントハンドラに書いてたけどw
0191デフォルトの名無しさん2011/12/19(月) 06:09:13.35
書いてたけどねw
0192デフォルトの名無しさん2011/12/19(月) 08:03:01.42
>>189
それについてはいろいろあるんですよ。
c++でプリプロセッサ識別子をビットに変換する事で識別子としての記述のわかりやすさと
ビットによる高速性を両立するプログラムをc#に移植しなければならなかった。
0193デフォルトの名無しさん2011/12/19(月) 08:26:34.94
うーん、プリプロセスでできてconstでできない理由がいまだによく見えないが…
0194デフォルトの名無しさん2011/12/19(月) 09:27:46.36
>C#には文字列を数字に定義する事ができないって言うじゃないか・・お茶吹いたわ・・

朝一のコーヒー返せwwwwwww
0195デフォルトの名無しさん2011/12/19(月) 10:41:05.20
普通constはコンパイル時定数だからパフォーマンスが落ちることはC++でもないし
だいいちそんなこと気にする必要があるレベルとはとても思えないな
0196デフォルトの名無しさん2011/12/19(月) 11:04:59.12
関数の定義

void myFunc(){
//処理
};

これより
myFunc = function(){
//処理
};

みたいな感じのほうがいいなぁ
デリゲートやラムダ式を使えば後者の書き方ができるの?
0197デフォルトの名無しさん2011/12/19(月) 11:18:20.19
うん。
0198デフォルトの名無しさん2011/12/19(月) 11:27:08.74
ラムダ式の利点がイマイチよくわからんけど、
出来るだけラムダ式で書いたほうが良いのかな?
0199デフォルトの名無しさん2011/12/19(月) 11:27:47.78
は?
0200デフォルトの名無しさん2011/12/19(月) 11:29:03.32
ひ?
0201デフォルトの名無しさん2011/12/19(月) 11:55:30.19
ふ?
0202デフォルトの名無しさん2011/12/19(月) 12:08:09.06
>>193
なんかできるみたいだな・・・・

>>194
カフェインは毒だ

>>195
コンパイル時定数!できそうだな。
0203デフォルトの名無しさん2011/12/19(月) 12:08:39.54
>>198
別に用意されてる機能を使いきらなければいけないってルールはないぞ
Linqとか使ってればそこそこ便利ではあるが、必要に迫られていない物を無理して使っても良いことはない
0204デフォルトの名無しさん2011/12/19(月) 12:38:23.80
arraylist配列の3番目の要素に4を書き込むのって

アレイリスト名[3]=4;
でいいんですよね?
0205デフォルトの名無しさん2011/12/19(月) 12:40:31.66
まあまずは試してみるんだ
0206デフォルトの名無しさん2011/12/19(月) 12:45:03.71
>>196
オーバーロードまで考えたらその書き方はいまいちかも。
実際、そういう定義の仕方する言語はオーバーロードできないこと多い。

>>198
何と比べて?

匿名メソッド構文と比べてだと、利点しかないんでラムダ式一択。

(匿名でない普通の)メソッドと比べてだと、その場で短く書きたいかどうか次第。
長くなったら普通のメソッドにして、ちゃんとした名前つけるべきだと思う。
逆に、 x => x > 0 とか、式1個なもんに対していちいちメソッド作りたくない。
0207デフォルトの名無しさん2011/12/19(月) 12:46:46.37
>>204
そもそも ArrayList はもう使っちゃだめだから。
List<int> ね、その場合。
リスト名[3] = 4; は間違い。
0ベースだから、3番目のインデックスは、0, 1, 2 の 2。
0208デフォルトの名無しさん2011/12/19(月) 13:06:36.33
>>207
ありがごとうございます。

int r=0;
リスト名[r]=1;

r++

リスト名のインデックスに変数を入れることはできるのでしょうか?
0209デフォルトの名無しさん2011/12/19(月) 13:15:53.10
[速+]【北朝鮮】金正日総書記が死去★9
http://headline.2ch.net/test/read.cgi/bbynews/1324267486/
0210デフォルトの名無しさん2011/12/19(月) 13:31:31.12
>>208
できる
あとその使い方だと前置インクリメントの方がいいな
最適化されるから関係ないけど
0211デフォルトの名無しさん2011/12/19(月) 13:36:21.28
>>208
そのレベルはさすがに、2chに書き込む前に自分でコード書いて確認した方が早くね?w
0212デフォルトの名無しさん2011/12/19(月) 13:40:52.44
>>210
後置をぜんぶ前置にしたわ。プログラムっていろいろあるんですね。
このスレはすごく勉強になります。ありがとう!
0213デフォルトの名無しさん2011/12/19(月) 13:42:04.01
>>211
書き込み少し控えるわ。
0214デフォルトの名無しさん2011/12/19(月) 15:11:24.20
以下を実行すると、HogeとHageが交互に実行されないのは仕方ないとして、
実行回数が毎回バラバラなのも、そーゆー物なのでしょうか?

int intNum = 0;
string strBuff = "";

private void button1_Click(object sender, EventArgs e)
{
Parallel.For(0, 1000, (int r) =>
{
subHoge();
subHage();
});
textBox1.Text = strBuff;
}
private void subHoge()
{
strBuff = strBuff + intNum.ToString("00000") + "Hoge\r\n";
intNum++;
}
private void subHage()
{
//textBox1.Text = textBox1.Text + "Hage\r\n";
strBuff = strBuff + "Hage\r\n";
}
0215デフォルトの名無しさん2011/12/19(月) 15:15:12.25
>>214
実行回数が変わってるんじゃなくて、
intNum の更新が競合してるんじゃないかと。
0216デフォルトの名無しさん2011/12/19(月) 15:27:47.80
マルチスレッドでやっちゃいけないことの典型だな
全部間違ってる
0217デフォルトの名無しさん2011/12/19(月) 15:34:31.40
>>215
更新が競合しているというより、明らかに1000回実行してないですね。
HogeとHage合わせても450回程度でした。

>>216
http://codezine.jp/article/detail/4697?p=3
を見ると、これでも良さそうな気がするのですが・・・。
何がやっちゃいけないことなのでしょうか?

よろしくお願いします。
0218デフォルトの名無しさん2011/12/19(月) 15:40:38.31
>>217
だから、実行回数をnumIntでカウントしてるんじゃないの?
競合したら、実行された回数よりもその数字小さくなるよ。

その記事のは、異なるスレッドが同じデータを読み書きしない作りになってるから平気なだけ。
0219デフォルトの名無しさん2011/12/19(月) 15:44:18.80
文字列連結のところもヤバいな
結果がおかしくなるはず
0220デフォルトの名無しさん2011/12/19(月) 15:49:24.27
lockedってあんまし使わない方がいいんだっけ?
0221デフォルトの名無しさん2011/12/19(月) 15:50:50.03
>>218-219
二つの関数でstrBuffを使用しているので、そこで競合しているのですね。
ありがとうございます。

でも、Parallel.Forの中をsubHoge()だけにしても、やはり1000回は動作しませんでした。
後は何かありますでしょうか?
0222デフォルトの名無しさん2011/12/19(月) 15:54:08.81
Interlocked.Increment(ref intNum)
StringBuilder strBuff
locked(strBuff)
0223デフォルトの名無しさん2011/12/19(月) 15:58:46.11
>>221
違うよ、それも問題だけど、そこだけじゃないよ。
numInt++ を System.Threading.Interlocked.Increment(ref numInt) に変えてみて。
0224デフォルトの名無しさん2011/12/19(月) 15:59:50.76
ロックフリーに挑戦してみたが合ってる自信はない
数字の順番が変わってしまう可能性があるが
そうならない方法は思いつかなかったので頭いい人教えて
private void subHoge()
{
 var tempInt = Interlocked.Increment(ref numInt) - 1;
 while(true) {
  var tempStrOld = strBuff;
  var tmpStrNew = tmpStrOld + tempInt.ToString("00000") + "Hoge\r\n";
  if (Interlocked.CompareExchange(ref strBuff, tempStrNew, tempStrOld) == tempStrOld) break;
 }
}
private void subHage()
{
 while(true) {
  var tempStrOld = strBuff;
  var tmpStrNew = tempStrOld + "Hage\r\n";
  if (Interlocked.CompareExchange(ref strBuff, tempStrNew, tempStrOld) == tempStrOld) break;
 }
}
0225デフォルトの名無しさん2011/12/19(月) 16:03:09.25
>>224
ロックフリーコードとか、アプリ側で書くなw
それはもっと下層のインフラの中にとどめとくもんだw
0226デフォルトの名無しさん2011/12/19(月) 16:18:17.08
>>222使って書くのが一番楽
0227デフォルトの名無しさん2011/12/19(月) 16:20:33.45
>>222でも数字の順番が変わる可能性があるよ
どうなれば正解なのか知らんが、それを避けるなら
結局全体をロックする必要があるから並列化の意味なし
0228デフォルトの名無しさん2011/12/19(月) 16:25:15.07
そもそもこの例だとボトルネックは文字列連結とかToStringのあたりのはずだから
そこロックしたら何の意味もない
0229デフォルトの名無しさん2011/12/19(月) 16:57:26.99
>>228
そもそも実用品じゃないと思うんだが
0230デフォルトの名無しさん2011/12/19(月) 17:05:51.43
そりゃそうだけど、根本的に実用にならないのをやっても仕方ないでしょう
結局、全部ロックしちゃえば解決という答えにしかならない
並列化するんなら可能な限りスレッドごとに別個に処理して
あとでまとめるのが基本
0231デフォルトの名無しさん2011/12/19(月) 17:12:06.28
>>223
だいぶ安定しました!
でも、やっぱり抜けがあります。

>>222のlockedってどこにあるのでしょう・・・?
System.Threadingの中には無いようですし、ググってもlock文しか出て来ませんでした。
0232デフォルトの名無しさん2011/12/19(月) 17:19:32.89
>>231
Interlockedとか使わなくていいよ。そこだけロックしない意味がない。
strBuffをStringBuilderにして、
subHogeとsubHageの中身全体をlock(strBuff) { }で囲めばうまくいくはず。
全く並列化の意味ないけど、それはやろうとしてることがおかしいから仕方ない。
0233デフォルトの名無しさん2011/12/19(月) 18:06:26.39
>>232
元々が「画像を取り込んで、保存と画像処理を同時に出来ないかな」で試しにやってみた程度ですので
ちと混乱の元になりそうなのでもう少し勉強してみます。
ありがとうございました。
0234デフォルトの名無しさん2011/12/19(月) 18:30:46.72
簡単に手を出せるってのも考え物だわね
そこを踏まえたライブラリにして欲しいもんだ
0235デフォルトの名無しさん2011/12/19(月) 20:03:59.93
Obsoleteとかいう、もう使っちゃいけないクラスは何処を見れば分かるの?一覧とかあんの?
0236デフォルトの名無しさん2011/12/19(月) 20:13:37.10
使ったときに警告される
0237デフォルトの名無しさん2011/12/19(月) 20:39:19.21
なるほど
サンキュー!
0238デフォルトの名無しさん2011/12/19(月) 21:10:30.25
いや一覧あるから
http://msdn.microsoft.com/ja-jp/library/ee461502.aspx
0239デフォルトの名無しさん2011/12/19(月) 21:33:28.03
7月の段階で民主党が2兆円の復興予算を組んだとき
自民党が要請した復興予算は累計17兆円

自民党の17兆が7月時点でに決定されていたのなら
今の日本はもう少し違って居た筈だ
ちなみに関東大震災のときは復興予算として現在の価値にして150兆円以上を組んでいた。
この事実を知れば、予算の規模の小ささ、ましてや増税なんて奇知涯にも程があると思わざる負えない

帰化人だらけの民主党に復興なんて はなっから無理な話なんだよ
0240デフォルトの名無しさん2011/12/19(月) 22:37:43.43
コピペ君って馬鹿だな、まで読んだ。
0241デフォルトの名無しさん2011/12/19(月) 22:45:58.21
だな、まで読んだ。
0242デフォルトの名無しさん2011/12/20(火) 00:46:16.85
無理な話、まで読んだ
ムリダナ・x・
0243デフォルトの名無しさん2011/12/20(火) 00:54:28.38
System.Diagnostics.Process.Startで別のアプリケーションを起動しているのですが、
起動後にキー操作を受け付けるウィンドウがその起動したアプリになってしまうのですが、
起動した後もキー操作を自分のフォームで受け付けるようにするにはどういう方法でやれば良いでしょうか。
0244デフォルトの名無しさん2011/12/20(火) 01:03:30.41
Win32APIのShellExecute使うのを勧めせざるをえない
0245デフォルトの名無しさん2011/12/20(火) 20:57:17.56
レスありがとう
Win32APIのShellExecuteを使って起動してみたのですが、
表示状態の引数を色々試したのですがどれもフォーカスが移ってしまいました
ただ起動する以外にもすることがあったら使い方を教えていただきたいです。
0246デフォルトの名無しさん2011/12/20(火) 20:59:27.70
C#はC++,Cに比べると速度は遅いですか?
速度を気にする場合はC++,Cを選択するべきでしょうか?
また、C#で作った場合、monoへの移植は容易でしょうか?
そしてC#とJavaはどちらが早いでしょうか?
0247デフォルトの名無しさん2011/12/20(火) 21:00:53.90
>>245
ソース晒してみ
0248デフォルトの名無しさん2011/12/20(火) 21:15:49.98
>>246
>C#はC++,Cに比べると速度は遅いですか?
そうでもないよ

>速度を気にする場合はC++,Cを選択するべきでしょうか?
本当に速度が必要ならそうすべき
数学とか物理学とか科学技術計算とかならぬ
ただし生産性とのトレードオフを考慮

>また、C#で作った場合、monoへの移植は容易でしょうか?
とりあえずC#は言語
monoはフレームワークだよ
Windowsべったりに書かなければ容易でしょう

>そしてC#とJavaはどちらが早いでしょうか?
一概には言えない
0249デフォルトの名無しさん2011/12/20(火) 21:27:47.25
>>247
ソース一覧

http://www.bulldog.co.jp/ ブルドックソース株式会社 東京都
http://www.kagome.co.jp/ カゴメ株式会社 愛知県
http://www.otafuku.co.jp/ オタフクソース株式会社 広島県
http://www.ikari-s.co.jp/ イカリソース株式会社 大阪府
http://www.kikkoman.co.jp/ キッコーマン株式会社 千葉県
http://www.oliversauce.com/オリバーソース株式会社 兵庫県
http://www.sky-net.or.jp/toshi/ カープソース 広島県
http://www.maruki-su.com/ 株式会社 川上酢店 愛知県
http://www.kozima.co.jp/ 小島食品製造株式会社 愛知県
http://www.komi.co.jp/ コーミ株式会社 愛知県
http://www.sankyohikari.co.jp/ サンキョーヒカリ 愛知県
http://www.junmaru.co.jp/ 株式会社 純正食品マルシマ 広島県
http://www.papaya-sauce.co.jp/ パパヤソース本舗 大洋産業株式会社 京都府
http://www.takahashisauce.com/ 高橋ソース株式会社 埼玉県
http://www.choko.co.jp/ チョーコー醤油株式会社 長崎県
http://www.timelyhit.ne.jp/ajiyoko/shop/sauce/sauce1.htm 阪神ソース株式会社 兵庫県
http://www.kyoto-thinking.co.jp/hirota/ 京風味ソース本舗 蛇ノ目食品廣田徳七商店 京都
http://www.optic.or.jp/com/fujiisauce/fujiisauce.html 有限会社 藤井ソース工場 岡山県
http://www2.neweb.ne.jp/wd/hikari/ ヒカリ食品 徳島県
http://www.hat.hi-ho.ne.jp/aokia/ 下北沢ビレッジソース 丸寿食品工業株式会社 東京都
http://www.yamayashokuhin.co.jp/ 山屋食品株式会社 東京都
http://brothersauce.com/ ブラザーソース森彌食品工業株式会社
http://www.asahi.co.jp/you/t20011026.html 神戸地ソース物語
【関連団体】
http://www.maff.go.jp/koueki/sougou/35/35.htm (社)日本ソース工業会
http://www.japan-tomato.or.jp/ 社団法人 全国トマト工業会
http://www.soysauce.or.jp/ 日本醤油協会
0250デフォルトの名無しさん2011/12/20(火) 21:30:58.13
コピペマン参上!まで読んだ。
0251デフォルトの名無しさん2011/12/20(火) 21:33:46.92
>>249
寒いよ
0252デフォルトの名無しさん2011/12/20(火) 21:55:29.21
こうなってます
ShellExecute(this.Handle.ToInt32(),"Open","calc.exe","c:\\windows","",5);
最後の引数をいろいろ試しました

宣言部はこうです↓
[DllImport("shell32.dll", EntryPoint="ShellExecuteA")]
static extern int ShellExecute (
int hwnd,
string lpOperation,
string lpFile,
string lpParameters,
string lpDirectory,
int nShowCmd);

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