コマンドライン引数

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
ざこ

コマンドライン引数

#1

投稿記事 by ざこ » 16年前

1,【始めに】
こちらからのマルチポストになります。。
http://okwave.jp/qa4784114.html

こちらの掲示板では書き込みできない状態になっておりリンク先を書き込むには誰かのコメントに補足として
書かないといけないのでそれは相手に失礼にも程があるきがしますので控えます。。
これを調べだして2週間ほどになりますが中々希望通りには遠いです。


2,【やりたいこと】
起動をする前にデスクトップ上のアイコン状態の実行ファイルにファイルをドラッグドロップするとそのまま移動する。(私の作っているプログラムの内容は拡張子別にファイルをフォルダに移動させる というものです)

今のままドラッグドロップを行いますと、プログラムが起動状態になるだけです。やりたいことはファイルをドラッグドロップして起動せずそのまま実行するような機能です。起動状態のままファイルをドロップすることはできます。


3,【調べた事】
コマンドライン引数、起動引数 を使う。argcはコマンドライン引数の数、argvは文字列
調べてわかったことがコマンドライン引数を取得してそれを引数に指定する。

4,【わからない事】
●コマンドライン引数を指定するといってもコマンドライン引数自体単体固定じゃないので結局何を指定
すればいいのかわからない。

●どこでどこに指定すればいいのかわからない。
OnDropFilesの引数に指定?と思いましたが違う気がします・・
ここではファイル移動にMoveFileやMoveFileExを使っているのでそれの引数でしょうか?
MoveFile(argv[0],argv[1])なようになるのでしょうか。

※一番上のリンク先に教えていただいた方法を試すとargv[0]には実行ファイルのフルパス名が
arg[1]にはドロップさせたファイルのフルパス名が入っていて、その2つだけでした。

結局どうすればできあがるのかが知りたいです。色々ご教授ください。

たかぎ

Re:コマンドライン引数

#2

投稿記事 by たかぎ » 16年前

突っ込みどころ満載ですが...

まずはhttp://dixq.net/board/board.htmlを熟読してください。

リンク先の掲示板でマルチポストが許されていれば
マルチポストはOKとしています。

とあるように、リンク先であるOKWaveはマルチポストが禁止ですので、この掲示板でもマルチポストはNGです。
それはともかく、いちいちマルチポスト先を把握するのも大変なので、必要な情報は全部こちらに再掲してください。

ざこ

Re:コマンドライン引数

#3

投稿記事 by ざこ » 16年前

失礼ですがOKWAVEでのマルチポスト禁止の記述はどちらに書かれていますか?

>>■マルチポスト
当サイト内において、同一カテゴリーであるかどうかを問わず、同一内容の質問を繰り返し複数投稿する行為は、削除・編集の対象とさせていただきます。同一人物が複数の会員IDを取得した上でそれぞれの会員IDで同一内容の質問を繰り返している場合も含みます。


とありますがこれはOKWAVE内の複数投稿においてと判断しましたが、他にあるのでしょうか?
後、マルチポストについて前々から思ってたんですが本来は同じ質問を複数の掲示板でしまくるのを禁止
する為のものだと思うんですが、OKWAVEで希望のこたえが得られなかった場合その問題は諦めろ ということになりますよね。

バグ

Re:コマンドライン引数

#4

投稿記事 by バグ » 16年前

ここにありました。

http://help.okwave.jp/okwave/beginner/netiquette.html

とりあえず、リンク先も見てみましたが、あそこの回答者の方々の書き込みは相当に丁寧に答えてくれていると思いますよ。サンプル云々というよりも、まずは、あそこのソースを利用して自分でテストしてみてはいかがでしょうか?

ざこ

Re:コマンドライン引数

#5

投稿記事 by ざこ » 16年前

>>インターネットの世界では、同一内容の投稿を繰り返し行うことはサイトやそれを見る人たちにとって迷惑になるため禁止されています。質問をするときは聞きたいことを明確にした上で一度だけ投稿してください。補足することがあったら新たに投稿するのではなく、いただいた回答への補足として投稿してください。

うーん質問内容は同じでもコピペってわけでもないし、OKWAVEの方で意見くださった方も詳しくでてるとは思うんですけど、私には理解しずらかったかな。OKWAVEの方では回答しても上にいかないんでどんどん下にいきますから閲覧者が減ります。もう1回同じ質問をするとマルチポストです。私に最初回答してくださった方も途中からいなくなってしまってどうしようかとなやんでいました

ネチケットはあくまでネチケットで禁止されてるわけじゃないと判断したんですけどね。
2つに分けられてる理由が他に見当たらない。

ソースなんてありましたっけ?
丁寧な解説はありましたけど、あれだけじゃ私には回答へ導けませんでした。>バグさん

内容は同じでもわからないことや調べた事とか色々含めて考慮して書いてるしこれはマルチポストになるのでしょうか?もちろんOKWAVEでの質問も若干活かされています。これがもしなるのならば希望の回答があるかどうかは
掲示板に祈りましょう。その掲示板で希望の回答がなかったら諦めろということになりますが。
管理者様もしみていたら回答ください

たかぎ

Re:コマンドライン引数

#6

投稿記事 by たかぎ » 16年前

> ネチケットはあくまでネチケットで禁止されてるわけじゃないと判断したんですけどね。

OKWaveでは、マルチポストは「違反項目」として運営スタッフへの報告を求めています。
つまり、実質的に禁止です。

> これはマルチポストになるのでしょうか?

ご自身で

> こちらからのマルチポストになります。。

と書いていますね。マルチポストという認識があったのでは?
そもそも、形式的にどうであるかではなく、マルチポストがなぜ問題になるのかを考えてみてください。
OKWaveで丁寧に回答してくれているchie65535さんにお礼も補足も付けずに、他の掲示板に乗り換えるのはマルチポストそのものです。

ざこ

Re:コマンドライン引数

#7

投稿記事 by ざこ » 16年前

なるほど、それは確かにそういう考えもありますね。私も反省しなければいけません。しかしそう仰られるならお礼や補足をちゃんとつけてればOKってわけじゃないでしょう? OKWAVEで解決できなかった問題をどうすればいいのか という私の根本的な問題に何の解決にもなっておりません。私自身マルチポスト って項目に深く理解してるわけではございません。引っかかるかな?という認識です。ただたかぎさんが仰られたようなことは、はっ とさせられました。OKWAVEでは多重投稿も禁止されています。私があの問題に対しスレを立てられるのはあのスレ1つだけということです。しかし私の問題にも若干目を向けていただきたいです。それに失礼ですが私はサイトにきっちり【禁止】やサイト主様から直接受け賜った場合にのみそういう解釈にしています。報告を求めているからといって私は禁止だな という解釈には変更になりません。しかし重要なことですのでさっそくOKWAVE管理者様に何らかの連絡手段をとり質問してみたいと思います。

toyo

Re:コマンドライン引数

#8

投稿記事 by toyo » 16年前

OKWave(教えてgoo)は私も毎日見てますしここの回答者も結構ダブってると思います(jactaさんは明らかですしdixqさんも何回か質問されてますね)。
他のC言語掲示板も結局回答者は同じ人だったりします。
まあ同じジャンルなら質問者がマルチする掲示板は回答者も巡回してるものでマルチポストする意味はあまりないですね。
今回の質問も向こうの質問は見てましたし妥当な回答が出てたので特に回答はしませんでした。
マルチに関してはOKWaveのほうを締め切れば問題ないかなと思いますが。

BEMANI

Re:コマンドライン引数

#9

投稿記事 by BEMANI » 16年前

>ざこさん
横からこういうことを言うのなんですが、
「多重投稿(マルチポスト)はしないようにしましょう」と、
バグさんが提示されているリンク先にありましたが、それでも禁止と言う解釈にはならないのでしょうか。

たかぎ

Re:コマンドライン引数

#10

投稿記事 by たかぎ » 16年前

このやりとりを繰り返される以上、解決は無理だと思いますが...

> しかしそう仰られるならお礼や補足をちゃんとつけてればOKってわけじゃないでしょう?

はい、OKではありません。
この掲示板の利用規約では、

しかし、ここでは相互リンクし、リンク先の掲示板でマルチポストが許されていれば
マルチポストはOKとしています。

となっていますので、OKWave側でもこちらへのリンクを貼ることが必須です。
しかし、マルチポストを認めてもらうためのリンクが許容されるかどうかはかなりグレーな部分があります。

また、仮に前述の回答にお礼や補足を行ったとしてもそれで終わりではなく、その後に双方のサイトで書き込まれたコメントに対して、遅滞なく対応すべきです。
普通はそれができないから、マルチポストは禁止されるのです。

> OKWAVEで解決できなかった問題をどうすればいいのか という私の根本的な問題に何の解決にもなっておりません。

OKWaveだからどうこうではなく、得られた回答でアドバイスされたことを自分なりに試してみて、それでも駄目なら、どのように試してどう駄目だったのかを説明すべきです。
それができなければ、どこへ行っても無駄です。

もし、代わりにプログラムを作って欲しいでのあれば、3月16日(丸投げ解禁日)以降にOKWaveで再質問するとよいでしょう。あるいはお金を払って外注するかです。

ざこ

Re:コマンドライン引数

#11

投稿記事 by ざこ » 16年前

今さっき運営に質問メールを送りました。私が納得できないのはさんざんいっていますが
OKWAVEで解決できなかった問題は諦めるか 自力で解くしかないのか ということです。
掲示板によっては回答が極端に少ない所もありますよね。そこだけが納得できないのです。
何度も同じ質問をするな というのは激しくよくわかるんですけどね。

>BEMANIさん

私は自分の都合のいいように解釈してるわけじゃないです。今回はたまたまそうだっただけで、初めマルチポストってのを意識する前から利用規約、ネチケットを見たとたんこう思いました。他人の文章をどう解釈するのかは人それぞれです。私が間違っている可能性も否定できません。ただ私も上記の内容で納得できなくて、
若干自分の思うように解釈しようとしているのかもしれません。何日ぐらいかかるかわかりませんが、返信を待ちます。どうせこのままでは回答は誰もしていただけないと思います。とりあえず返信が着たら必ずお知らせし、内容を報告させていただきます。それまで今しばらくお待ち下さい。

ざこ

Re:コマンドライン引数

#12

投稿記事 by ざこ » 16年前

>OKWaveだからどうこうではなく、得られた回答でアドバイスされたことを自分なりに試してみて、それでも駄目なら、どのように試してどう駄目だったのかを説明すべきです。
それができなければ、どこへ行っても無駄です。

確かに、若干勝手な判断でしたね。この板で質問したことを補足にて書くべきでした。
しかしどこへいっても無駄かどうかは本人次第です。

ざこ

Re:コマンドライン引数

#13

投稿記事 by ざこ » 16年前

たかぎさんへ
私の行為が違反かどうかはメールでの返信をお待ちいただきたい。まだ推測の域を出ません。全ての対応はそれからだと思います。もしも私がお知らせする返信内容が疑わしいようならば、質問内容をのせますので同様のご質問をしてください。

初級者

Re:コマンドライン引数

#14

投稿記事 by 初級者 » 16年前

とりあえず、OKWaveでのやりとりにけりをつけたらいかがでしょうか。
クローズするなりなんなりして。


# マルチポストですって、自ら表明して投稿するのも珍しい…。

ざこ

Re:コマンドライン引数

#15

投稿記事 by ざこ » 16年前

そうですね、そうしておきます。ありがとうございます。

バグ

Re:コマンドライン引数

#16

投稿記事 by バグ » 16年前

うーん、微妙に論点がずれてるような…?(^_^;)
たかぎさんの言われているのは…

1:せっかくアドバイスを戴いたのだから、まずは自分なりに試してみては?

2:そのうえで理解できない、もしくはアドバイスそのものが理解できないのであれば、再度質問するようにしませんか?

3:自分で理解しようとする努力(2番の事です)を放棄しては、自分の為にならないし、何処の掲示板で誰に聞いても同じ事の繰り返しだと思いますよ。


という事だと思うんですよ。前にも書きましたが、OkWaveでの回答は非常に丁寧です。ぶっちゃけ、ほとんど解答そのものだと思いますよ。一度じっくり解析してみてはいかがでしょうか?

ざこ

Re:コマンドライン引数

#17

投稿記事 by ざこ » 16年前

若干自分勝手な見解になりますが、私が本当に聞きたかったのはこちらの質問させていただいた内容だったんだと思います。それに気づいたのが書きながら ですか。ただ質問しなおすには若干かけ離れていた ように感じました。それとOKWAVEの掲示板特性上と合わせた結果こういうことしてしまったのだと思います。ただバグさんやtoyoさんにあれが全て と言われるまであくまで理解する為の予備知識 という見解でした。これは未熟といわざるをえないですね。。 このようなことになってしまったのでとりあえずお詫びとお礼をして質問は締めておきました。

後OKWAVEの件がマルチポストになるか どうかはたかぎさんの論題とは関係なく今後も重要だと思います。
真偽を明らかにしといたほうがいいのでは?と思いますね

Mist

Re:コマンドライン引数

#18

投稿記事 by Mist » 16年前

質問の回答しておきますね。

> 起動せずそのまま実行するような機能です
無理です。
アプリケーションの起動をしなければ何も実行することは出来ません。
拡大解釈してウィンドウを出さずにコピー処理だけを行いたい、というのであれば出来ます。

ざっと読んだとことざこさんはMFCでプログラミングされたアプリケーションが、どのように実行されているのかご理解されていないように思いますが、アプリケーションが起動されてから、最初のウィンドウが表示されるまで、どういうふうに実行されているか理解されておられますか?
コンソールアプリではmain関数から、WindowsアプリケーションではWinMainから開始します。
MFCもWindowsアプリケーションなのでWinMainから開始しますが、WinMainはMFCによってラッピングされているのでプログラマが手を加えることは出来ません。
では、プログラマが触れる中で、一番最初に実行されるとことはどこなのか?
その辺が理解できれば、リンク先のchie65535の回答で解決できるでしょう。


OK Waveのchie65535のお礼だけど、下2行はchie65535さんがこちらでの経緯を知らなければ意味不明ですね。
私だったら、「この質問の続きは以下の掲示板でさせていただきます。」と書いてこのスレのアドレス張ってきますが。

ざこ

Re:コマンドライン引数

#19

投稿記事 by ざこ » 16年前

すいません、アドはるの忘れていて気付いたときには時既に遅しというやつで書き込めませんでした・・
なるほど私がしたい事はまさにMistさんの仰るものですね。
一番最初に実行される所、IniInstance or InitDialog でしょうか

ざこ

Re:コマンドライン引数

#20

投稿記事 by ざこ » 16年前

問題解決できました。
後OKWAVEからの回答も私の行動は問題ないとのことでしたので
色々と論議した結果、きちんと対応を怠らないことが条件ですが
OKWAVEからこちらのマルチポストは問題ないと言う結果になりました。
といっても皆様がそういう意見だったということで正しいかどうかはわかりません。

閉鎖

“C言語何でも質問掲示板” へ戻る