05/01/12 12:27:20
>>749
ありがとうございます。
確かにおっしゃる通りで、HotFixを入手する手も考えたのですが
そもそも、根本的に二重起動チェックの方法が悪いのではというところで 悩んでいました。
ちなみに、バッチの二重起動チェックなのですが...。
下記がMutexを使用した場合のソースなのですが こんな感じなのでしょうか?
また、"MyName"は他の文字列と置換え可能だと、サンプルを見る限り
書いてあったのですが、バッチの二重起動チェックの場合、何をここに
記述しなくてはいけないのですか?
二重起動チェック処理は共通関数化して行う予定です。 ご教授下さい。
///////////////////////////////////////////////////////////////////////////
bool exit = false;
System.Threading.Mutex m = new System.Threading.Mutex(false, "MyName");
if (m.WaitOne(0, false) == false)
{
//すでに起動していると判断する
m.close();
exit = true;
}
else
{
exit = flse;
}
//アプリケーションが終わるまでmへの参照を維持するようにする
GC.KeepAlive(m);
}
///////////////////////////////////////////////////////////////////////////
752:デフォルトの名無しさん
05/01/12 13:03:14
>//アプリケーションが終わるまでmへの参照を維持するようにする
>GC.KeepAlive(m);
GC.KeepAliveはそういう仕様ではありません。
こんなクラスを使えば良いでしょう。
class Hoge {
System.Threading.Mutex _m;
boole _is_ok;
public Hoge(string id)
{
_m = new System.Threading.Mutex(false, id);
_is_ok = _m.WaitOne(0, false);
}
public ~Hoge()
{
_m.Close();
}
public bool IsOK { get { return _is_ok; } }
}
使い方
class YourApp {
Hoge _hoge = new Hoge("YourAppName"); // メンバ変数等、アプリが終了するまで残る変数に入れること。
public void Main()
{
if ( !_hoge.IsOK ) return;
...
}
}
753:デフォルトの名無しさん
05/01/12 16:11:06
>>751
よく動いてる仕組みもわからず使う気になりますね
全部を詳細に把握しろとは言いませんが。
754:デフォルトの名無しさん
05/01/12 22:20:38
コマンドラインコンパイルの方法教えてください。
javac ~.javaみたく扱いたいんで。
755:デフォルトの名無しさん
05/01/12 22:22:51
>>754
知ってるけど秘密 c?c だな
756:デフォルトの名無しさん
05/01/12 22:23:22
csc.exeでヘルプを調べる
757:デフォルトの名無しさん
05/01/12 22:25:23
>>755
ば~かww
758:デフォルトの名無しさん
05/01/12 22:29:12
cscでやれば、ソリューションファイル、プロジェクトファイル、
アセンブリインフォファイルはいらないんだよ。
759:デフォルトの名無しさん
05/01/12 22:31:51
ノリの悪い奴がいるな
ちぃー
760:デフォルトの名無しさん
05/01/12 23:01:31
>>755
こういう奴、正直寒い。同じボケるにしてもボケ方ってものがあると思う。
761:755
05/01/13 20:32:53
↑必死だなwwwwwww
762:デフォルトの名無しさん
05/01/13 22:58:21
オマエモナー
763:デフォルトの名無しさん
05/01/16 16:55:58
Bitmap bmp = new Bitmap(100,100);
Graphics g = Graphics.FromImage(bmp);
bmp.MakeTransparent(Color.Red);
g.FillRectangle(Brushes.Aqua, 0, 0, 100, 100);
g.Dispose();
MakeTransparentを呼び出すと、その後のGraphicsオブジェクトを利用しての描画が出来ないのですが、どうしてでしょうか?
764:デフォルトの名無しさん
05/01/16 17:52:13
Graphicsオブジェクトを作ってからbmpに変更を加えているコードに違和感を感じる。。。
765:デフォルトの名無しさん
05/01/16 23:25:50
質問です。
マイク端子から音声を取り込むのってどうやるんですか?
766:デフォルトの名無しさん
05/01/16 23:34:49
>>765
↓こっちで聞いた方がいいと思われ。
Managed DirectX vol.2
スレリンク(tech板)
767:デフォルトの名無しさん
05/01/16 23:37:50
>>765
この辺。
1)Win32APIでやる(C#である意味がかなり薄れるとは思うが)
URLリンク(wisdom.sakura.ne.jp)
2)Managed DirectXでやる
URLリンク(www.microsoft.com)
768:デフォルトの名無しさん
05/01/17 11:14:41
>>766
>>767
ありがとん。
769:デフォルトの名無しさん
05/01/17 14:41:07
static なArrayListのCountを覗こうとするとエラーがでるんですが
例
class Test
{
static ArrayList momo = new ArrayLIst();
static int Count { get { return Test.momo.Count; } }
}
こんな感じで何かしらAddしたものがあればエラーはでないんですが、
0だと駄目です。
trycatchでつかもうとしても駄目。
メッセージ
'System.ArgumentOutOfRangeException' のハンドルされていない例外が system.windows.forms.dll で発生しました。
追加情報 : 指定された引数は、有効な値の範囲内にありません。
770:デフォルトの名無しさん
05/01/17 16:33:51
>>769
初期値をいれ時計
771:デフォルトの名無しさん
05/01/17 19:27:43
すまんが、C#だと
catch(Exception e)で全部もれなく捕らえられるんでしょうか?
772:デフォルトの名無しさん
05/01/17 19:38:16 ,
>>769
予言するけど、それは多分別の箇所でmomo[0]とかしているせい。
momo を static プロパティにでもして get に breakpoint 置いて見てみるべし。
773:デフォルトの名無しさん
05/01/17 21:10:20
>771
できます。
throwできるのはSystem.Exceptionから派生したクラスのインスタンス、またはnullだから。
用途によってはcatchの後を省略してもオケー
private void Form1_Load(object sender, System.EventArgs e)
{
try
{
Nullpo();
}
catch
{
MessageBox.Show("ガッ");
}
}
private void Nullpo()
{
throw null;
}
774:デフォルトの名無しさん
05/01/18 19:54:35
ArrayL"I"st
775:デフォルトの名無しさん
05/01/18 20:19:07
>>771
捕まえても逃げるものがあるから注意よん
ThreadAbortException とか
776:デフォルトの名無しさん
05/01/18 23:08:21
>>775
確認のために聞きたいのですが、「捕まえても逃げる」っていうのは
> ThreadAbortException は、キャッチできても、 catch ブロックの末尾でもう一度自動的に発生する特殊な例外です。
ってことを言ってます?
URLリンク(www.microsoft.com)
777:デフォルトの名無しさん
05/01/19 12:06:00
>>775
とか?とかなのか?
778:デフォルトの名無しさん
05/01/19 19:56:57
例外だけに例外がありました。
779:デフォルトの名無しさん
05/01/19 20:19:45
( ´д)ヒソ(´д`)ヒソ(д` )ヒソ
780:デフォルトの名無しさん
05/01/20 01:41:24
冷害
781:デフォルトの名無しさん
05/01/20 21:02:08
Regex reg = new Regex(pat , ここのオプション );
というのが沢山在るんですが、オプション部分が全て同じなので、
変数を使いたいのですが、変数って使えますか?
RegexOptions option = RegexOptions..IgnoreCase | RegexOptions.ExplicitCapture;
のようにしてみたけどやっぱりエラーでした
782:デフォルトの名無しさん
05/01/20 21:03:33
使えます。
783:デフォルトの名無しさん
05/01/20 21:07:10
どんなエラーが出たってんだ?
> RegexOptions..IgnoreCase
ここがポイントか?
784:デフォルトの名無しさん
05/01/20 21:22:12
そういう場合は、変に省略せずソース丸ごと貼り付けろ。すぐに分かる。
785:デフォルトの名無しさん
05/01/20 22:08:51
コード見直してみたら成功シマスタ。スマンカッタ
786:デフォルトの名無しさん
05/01/20 22:13:20
どこを見直したんだよ
787:デフォルトの名無しさん
05/01/21 07:01:07
RegexOptions..IgnoreCase
↑まさかここではなかろうな
788:デフォルトの名無しさん
05/01/21 10:05:31
C#でJPEGやGIF画像のプロパティ(ピクセルサイズ、色数など)を取得するプログラムを今日中に作れといわれたのですが、当方VB6.0しか使ったことがなく途方にくれています。。。
とりあえずVisualStudio2003のC#でテキストボックスにHELLO WORLDと表示させるところまできましたがもう限界です。
どこかにサンプルコードなどありますでしょうか?
なにとぞなにとぞよろしくお願いいいたします。
789:デフォルトの名無しさん
05/01/21 10:16:17
採用時に大口でも叩いたの?
Image.FromFileでファイルを開けて、返値であるImageオブジェクトの各種プロパティをみれば済む話だが。
790:デフォルトの名無しさん
05/01/21 19:01:06
VB6なんて雑魚い言語やってるからそーなるんだよな。
791:最凶VB厨房
05/01/21 19:33:51
採用時に大口叩いてこれぐらいか。( ..)φメモメモ
792:デフォルトの名無しさん
05/01/21 22:07:35
仕事なら「今日中に」なんてありえない。
数分から数十分でやれないと話にならんでしょ。
793:デフォルトの名無しさん
05/01/22 01:38:44
>>792
SmalTalkで今日中に作れといわれてできるのか( ゚Д゚)ゴルァ!!
794:792
05/01/22 02:18:58
できますよ( ̄ー ̄)
795:デフォルトの名無しさん
05/01/31 11:59:50
SmalTalkで400件以上Googleに引っかかるのはどうだろうと思いつつ保守ついでのage
796:デフォルトの名無しさん
05/02/03 13:32:35
>>237
CHKなんていう意味不明な略語(?)を使うのはやめましょう。
質問は平易な日本語(+正しい技術用語)で具体的に。
姉妹スレの↓もよろしく。
ふらっとC♯(Part5)
スレリンク(tech板)
>このスレッドは
>
>「どんなにくだらないC#プログラミングに関する発言でも誰かが優しくレスをしてくれるスレッド」です。
>
>ほかのスレッドでは恐ろしくて書き込めないような低レベル、もしくは質問者自身なんだか意味がよく分からない質問など、
勇気をもって書き込んでください。
>
>少しずつC#プログラマを名乗るものが現れました。みなさん一緒に勉強しましょう。
797:デフォルトの名無しさん
05/02/03 13:34:39
2ちゃんで誤爆するような不注意なヤシ↑
書いているコードの品質も知れたものだな。。。
798:デフォルトの名無しさん
05/02/04 22:54:42
お勧め本を知りたいのですが、このスレで良いでしょうか?
ildasm.exeの使い方を詳しくかつ読みやすく紹介している
本をご存知でしたら、どなたか教えてください。
799:デフォルトの名無しさん
05/02/05 20:13:56
>>798
推薦図書/必読書のためのスレッド PART 22
スレリンク(tech板)
800:デフォルトの名無しさん
05/02/06 18:16:53
vs.netを使ってるのですが、
"(" と ")" の二つの括弧のいろを変えたいのですが、
フォントおよび色のどの項目を変えればいいのでしょうか?
801:デフォルトの名無しさん
05/02/06 18:45:23
なんでもできると思ったら大間違いだ
802:デフォルトの名無しさん
05/02/12 00:07:31
同じ親を持つ兄弟関係の派生クラス間で、
親の持つ共通メンバのみコピーするには
ひとつひとつ代入するしかない?
803:デフォルトの名無しさん
05/02/12 00:17:28
>>802
しかない
不便なら親クラスに CopyTo メソッドとか付けとけ
804:デフォルトの名無しさん
05/02/12 00:22:45
リフレクションで手を抜く事はできるかもしれないがね。
805:802
05/02/12 00:23:30
>>803
意外に楽できないんだな。かゆいところに手が届かないというか。
implicitにでも書いとく。ありがとう。
806:デフォルトの名無しさん
05/02/12 12:33:29
フォームが始めて表示された直後にイベントを発生させる方法はありますか?
Loadの後にイベントを起こしたいのですが。
807:806
05/02/12 13:03:20
いまはとりあえずFormにフラグをつくって
それをActivatedで判断するという方法を使ってますが、
ほかに正攻法はあるのでしょうか?
808:デフォルトの名無しさん
05/02/12 17:37:41
>>807
それが正攻法だと思われます。
809:デフォルトの名無しさん
05/02/12 17:44:58
Loadイベントの最後でRefreshさせて、その後とか。
行儀はよろしくなさそうだが。
810:387
05/02/14 14:27:11
自作アプリケーションで
C# を外部スクリプトとして利用しようと思ったんだけど、
アセンブリ参照をソースに埋め込むってことできないの?
VC++ の #pragma comment( lib, "hoge.dll" )
みたいなやつ。
おしえてちょー。
811:デフォルトの名無しさん
05/02/14 15:16:19
>>810
ソースには無理。プロジェクトファイルで指定して、ビルド時に参照。
もしくは、Reflection で茨の道・・・
812:デフォルトの名無しさん
05/02/14 15:40:19
Reflectionはインタフェイスとか使おうとしないで完全に動的にやれば
そう難しくもないような気がする。
用途によってはアプリケーションドメイン単位でしかアンロードできないのが
何かと不便だけど。
813:デフォルトの名無しさん
05/02/14 23:58:44
C#はじめました
で
ControlPaint.DrawReversibleFrame(new Rectangle(0,0,200,200), Color.Black, FrameStyle.Thick);
とやったら、デスクトップの左上にシカクがでました。
このシカクをフォームの中にいれたいんですが、どーしたらいいんでしょ
814:デフォルトの名無しさん
05/02/15 00:40:09
FormのPointToScreen
815:デフォルトの名無しさん
05/02/15 00:52:04
おお、ありがとさんです
816:デフォルトの名無しさん
05/02/19 22:12:19
「デスクトップを表示」や「最小化」でタスクバーに収まったフォームを
元に戻すメソッドはどれでしょうか。
817:デフォルトの名無しさん
05/02/19 22:17:46
メソッドじゃないが、FormのWindowStateプロパティ。
818:デフォルトの名無しさん
05/02/19 23:32:02
>817
ありがとうこざいます。
819:デフォルトの名無しさん
05/02/20 13:22:18
結局メソッドだけどね
820:デフォルトの名無しさん
05/02/20 14:19:22
.NETはXML形式でオブジェクトをシリアライズできると聞きましたが
これは再コンパイルせずにテキストツール等で容易にパラメータの書き換えができるってことですか?
821:デフォルトの名無しさん
05/02/20 16:46:22
あるオブジェクトのメンバにアクセスできる範囲を、利用するクラスによって変えたい。
たとえばAというクラスからは、プロパティで取得・変更ができるけど、
Bというクラスからは取得のみ可能、
Cというクラスはすべてのメンバにアクセスできるが、
Dというクラスは一部にしかアクセスできない、というふうに。
822:デフォルトの名無しさん
05/02/20 17:11:14
それぞれのクラス用ラッパーを作る
823:デフォルトの名無しさん
05/02/20 18:15:35
>>822
回答ありがとう。でも「ラッパークラス」で調べてみると
C++やアンマネージ、COMとかいった仰々しいものが続々出てきて手に負えそうにない。
あるいはもしかしたらこういうこと?
Originalの代わりにWrapperを公開して、メンバのabcはプロパティで取得のみ可。
class Original{
private SomeClass abc;
public SomeClass Abc{
set{abc = value;}
get{return abc;}
}
}
class Wrapper{
private Original org;
public SomeClass Abc{
get{return org.Abc;}
}
}
これだとWrapperの内部では自由にOriginalにアクセスできてしまうし、
SomeClassのAbcの参照先は値が変更可能になっている。
Originalの持つメンバに関して、あるクラスからは完全に取得限定にしたいけど、
そういう都合のいい方法ってある?
824:デフォルトの名無しさん
05/02/20 18:18:26
if(Environment.StackTrace.IndexOf("Class1"
825:デフォルトの名無しさん
05/02/20 18:30:06
>>823
> SomeClassのAbcの参照先は値が変更可能になっている。
Original.AbcとWrapper.Abcで動作は等価と思うのだが。
それでダメなら属性で制御するくらいしか思いつかんな。
そうするとコンパイルエラーを出せないが。
826:デフォルトの名無しさん
05/02/20 18:59:08
>>825
入れ子のクラスにする方法を考えてみた。
>>823のWrapperをOriginalのメンバにしてみるとか。
属性かー。それで工夫してみるよ。どうもありがとう。
827:デフォルトの名無しさん
05/02/21 13:22:34
WIndowsアプリケーションのListView使ってるんだけど
列の非表示ってできる?やり方が見当たらなくて。
828:デフォルトの名無しさん
05/02/21 14:41:54
>>827
無理なはず。
829:デフォルトの名無しさん
05/02/27 03:17:43
ちょっと聞いてやるがローカルマシンにSQLserver(もしくはMSDE)がインストールされてるか判別したいんだが・・・
どなたか教えてください。
830:デフォルトの名無しさん
05/02/27 03:32:30
DBがインストールされてるかどうかチェックする機能が必要って。
どんなのが対象なんだか。
831:デフォルトの名無しさん
05/02/27 03:35:14
DB がダンボールに見えてしまった
もうだめぽ
832:デフォルトの名無しさん
05/02/27 03:38:22
ボールしかあってないじゃねーか。
833:デフォルトの名無しさん
05/02/27 03:42:35
ダンもあってるYO
834:デフォルトの名無しさん
05/02/27 13:32:24
ドラゴンだろ
835:デフォルトの名無しさん
05/02/27 14:00:01
接続しにいく、ってのがいいんじゃないか?
836:デフォルトの名無しさん
05/02/27 15:24:28
質問です。
VC++6.0で作成したクラスライブラリ(.lib)を
C♯で使用したいと思っています。
VC++6.0で使っていたときは
.libファイルとともに梱包されていたヘッダーファイルを
インクルードしていたのですが、
C♯ではそんなことできないですよね?
ネットでいろいろ調べてみたものの、
解決策は見つけられませんでした。
申し訳ありませんが、どなたかよろしかったらご教示ください。
837:デフォルトの名無しさん
05/02/27 16:14:08
Managed C++
URLリンク(www.microsoft.com)
スレリンク(tech板)
URLリンク(www.hit.dj.kit.ac.jp)
URLリンク(park15.wakwak.com)
URLリンク(mag.autumn.org)
838:デフォルトの名無しさん
05/02/27 16:24:20
>>836
c++のクラスを呼び出したいならmanaged c++を使ってマネージコードから
呼び出せるマネージドクラスでラップする必要があります。
managed c++は禁断の世界だから手を出すときは自己責任で。
839:デフォルトの名無しさん
05/03/01 17:34:27
C#からマウスやキーボードを操作したいのですが
JavaでいうRobotのようなものはありますか?
840:デフォルトの名無しさん
05/03/01 18:05:56
自分では分かりやすいんだろうが、~でいう~という説明は説明になってないってことを肝に銘じておいてくださ~い!
キーボードのエミュレートはSendKeysクラス。
マウスのエミュレートは.NETには無かったような気がするので、Win32APIのmouse_event/SendInputを挙げておこう。
841:デフォルトの名無しさん
05/03/01 18:08:03
>>840
ごめんなさい。以後、気をつけます。
ありがとうございました。
842:デフォルトの名無しさん
05/03/01 19:29:08
ASP.NET開発について調べています。
クライアントに新しいファイルを作って送るにはどうすればいいですか?
.csvみたいな簡素なファイルなら想像できますけど、
エクセルの.xlsファイルとかどうしますか?
843:デフォルトの名無しさん
05/03/01 20:16:24
>>842
普通にファイルを生成してリンクしてやるかResponse.BinaryWriteしてやればいいんじゃね?
エクセルのバイナリを動的に作れないという話なら、そういう商用コンポーネントを買うのが早いと思うよ。
買わなくても出来るけど苦労する。
844:デフォルトの名無しさん
05/03/01 20:17:29
1.ファイルを作る
2.送る
845:デフォルトの名無しさん
05/03/01 22:07:21
>>842
Excel2003ならXMLで・・・
846:デフォルトの名無しさん
05/03/01 22:31:12
2003なんて誰が使ってるんだ?
おれはまだ97だが?
847:デフォルトの名無しさん
05/03/01 23:46:10
97はMSのライフサイクル的に死んだバージョンだろ。
修正プログラムの出ないMS製品なんて使ってられるか。
848:デフォルトの名無しさん
05/03/02 00:19:10
でもAccess入ってたのこれだけなんだよね。
つーか金ねーよ。
849:デフォルトの名無しさん
05/03/02 01:38:49
どっかの学生に買ってきてもらう
850:デフォルトの名無しさん
05/03/02 22:33:11
ビル・ゲイツ氏に英王室が名誉ナイト称号
URLリンク(www.yomiuri.co.jp)
851:デフォルトの名無しさん
05/03/03 00:10:52
>>850
そんなニュース、前にもなかったっけ?
852:デフォルトの名無しさん
05/03/03 02:15:11
ウィリアム・ヘンリー・ナイト・ゲイツIII世
853:デフォルトの名無しさん
05/03/04 20:21:06
VB.NETでの『ReDim Preserve ・・・』に相当するようなコードは
C#ではどのように書くのでしょうか?
配列の内容を保持したまま配列を増やしたいのですが、
今までは新しく配列を用意してコピーしていたのですがスマートにならないものかと。
854:デフォルトの名無しさん
05/03/04 20:28:08
>>853
いや、C# でそんな文見たことない
おそらく無いんじゃないか?
855:デフォルトの名無しさん
05/03/04 20:45:37
ReDimったってどうせ内部でArray.Copy呼んでるだけだしな。
これのせいでループの内部で毎回ReDimするようなアレなコード書く奴もいるし。
856:デフォルトの名無しさん
05/03/04 21:13:37
URLリンク(dobon.net)
ここを参考に、googleに用語をpostして結果を得ようとしています。
ところがこのうちの「 System.Web.HttpUtility.UrlEncode」でエラーが出ます
(エラーの説明)
>型、または名前空間名 'Web' は、
>クラスまたは名前空間 'System' に存在しません。
>アセンブリ参照があるか確認してください。
どうすればSystem.Webのクラスを使えるようになるのか教えて頂けますか。
857:デフォルトの名無しさん
05/03/04 21:15:03
>>856
プロジェクトの『参照設定』を右クリック⇒『System.Web』を追加
これでおk
858:デフォルトの名無しさん
05/03/04 21:15:31
あ、『参照の追加』が間に入ってましたごめぬ
859:デフォルトの名無しさん
05/03/04 21:16:16
System.Web.dllを参照に追加すれ。
860:デフォルトの名無しさん
05/03/04 21:27:51
高速回答ありがとうございました。
ぶじビルドできました。