[リストへもどる]   [VBレスキュー(花ちゃん)]
一括表示

投稿時間:2005/03/11(Fri) 23:56
投稿者名:あさがお
URL :
タイトル:
EXE間のデータのやり取り
お世話になります。
VBのEXE同士でデータのやり取りをしたいのですが、ファイルを使ったり、DDE通信を使ったり 以外
の方法は
ないでしょうか?
よろしくお願いします。

投稿時間:2005/03/12(Sat) 07:55
投稿者名:花ちゃん
Eメール:
URL :
タイトル:
Re: EXE間のデータのやり取り
> VBのEXE同士でデータのやり取りをしたいのですが、ファイルを使ったり、DDE通信を使ったり 以外
> の方法はないでしょうか?

上記の方法では何か問題があるのでしょうか?
どのような方法を求めておられるのですか?それを書かないと仮に案を提示しても却下
されるのでは。(クリップボードやレジストリを利用すると言っても)

又、データのやりとりといっても色々あるかと思うのでやりたい事を詳しく書いて下さい。

単に知りたいだけなら、Googleで[データのやり取り EXE間]をキーワードに検索して見て下さい。

投稿時間:2005/03/12(Sat) 09:07
投稿者名:Say
Eメール:
URL :
タイトル:
Re: EXE間のデータのやり取り
> VBのEXE同士でデータのやり取りをしたいのですが、ファイルを使ったり、DDE通信を使ったり 以外
> の方法は
> ないでしょうか?

ヘルプにひとやま載ってます。
hhttp://hpcgi1.nifty.com/MADIA/VBBBS/wwwlng.cgi?print+200411/04110015.txt

投稿時間:2005/03/12(Sat) 10:26
投稿者名:L.O.N.
URL :
タイトル:
Re: EXE間のデータのやり取り
今まで、あげられていない方法としては、
外部のOCXを使用するという手もあります。

以前、同じことをしようとしていた時に見つけた物を書いておきます。

hhttp://www.apli.co.jp/

ここにある、APLI アプリケーションコントローラがそれにあたります。
欠点として、最大で1秒ほどの遅延が発生する場合があるということですが。
遅延を気にしなくてもいい場合には、便利かも知れません。

投稿時間:2005/03/13(Sun) 07:36
投稿者名:Starfish
Eメール:
URL :
タイトル:
Re: EXE間のデータのやり取り
 使用目的により、何を使うかは変わってくると思いますが、
例えば、
(1)頻度
 他プログラムを起動して結果をもらうだけなのか、常にお互いと
やり取りがあるのか。
(2)データ長とデータの種類
 データ長とテキストデータかバイナリデータか。

 やり方はいろいろあがっていますが、
  ActiveX EXE を使用する方法
  Winsock を使う方法
  WM_COPYDATA メッセージ
  相手のテキストボックスを書き換えるとか
 なんてのも、考えられると思います。

投稿時間:2005/04/13(Wed) 16:56
投稿者名:あさがお
URL :
タイトル:
Re^2: EXE間のデータのやり取り
まず長い間おいてしまったことをお詫びします。
言い訳ですが忘れてしまっていたわけではないのですがなかなか来られませんでした。

皆さんの意見を見てみるとどれも難しそう。

具体的にということなので、使いたいことを書きます。
実はパスワードを持ち歩きたいんです。
そのパスワードによって出来ることを各プログラムで決めたいので一度入れたパスワードを持ち歩きた
いので
す。
毎回入れるのは大変面倒なので一度入れたらメニューを閉じない限り、各EXEを自由に行き来できる
ようと思
っています。昔BASICのころコモン文か何かあったような気がして、そんな感じで何かないでしょ
うか?
皆さんだったらこういうときはどうしますか?
勝手ですがよろしくお願いします。

投稿時間:2005/04/13(Wed) 17:10
投稿者名:ガッ
Eメール:
URL :
タイトル:
Re^3: EXE間のデータのやり取り
ノ<横からこっそり失礼します。
> 具体的にということなので、使いたいことを書きます。
> 実はパスワードを持ち歩きたいんです。
> そのパスワードによって出来ることを各プログラムで決めたいので一度入れたパスワードを持ち歩
きた
> いのです。
なんかサーバ/クライアントのようなサービス形態ですねぇ…

> 毎回入れるのは大変面倒なので一度入れたらメニューを閉じない限り、各EXEを自由に行き来で
きる
> ようと思っています。
「パスワードを持ってが行き来する」という概念が、一体どういうモノなのか分かりません(orz
予想として考えられるのは、
・一つのパスワードがあり、それを利用すれば一つのサービスだけを利用できるが、
 そのサービスを終了すれば、そのパスワードを使って他のサービスも利用できる。
・一つのパスワードがあり、それを利用すれば複数個のサービスを同時に利用できる。
と、「パスワードを持ち歩く」なら、少なくとも二通りに解釈できます。

> BASICのころコモン文か何かあったような気がして、そんな感じで何かないでしょ
> うか?
んー…記憶にないなぁ(orz

> 皆さんだったらこういうときはどうしますか?
まぁ、私なら簡単に済ますために、「レジストリかファイルに書き込んで、みんなで見る」と言うのに

ます。
これならファイルアクセスが競合しない限り一つのデータを複数人で共有できますし。
(逆にファイルアクセスが競合したときに、排他的にアクセスできないようにすれば、
サービスを一つに絞ることができるかも)
あと、WinSockを使って、サーバ/クライアントのようなネットワークをそのまま作り上げることもでき
ます。
…それほどメリットはありませんが。

※もしかして…大誤爆してる…?

投稿時間:2005/04/13(Wed) 17:44
投稿者名:花ちゃん
Eメール:
URL :
タイトル:
EXE間のデータのやり取り(サンプル)
> 毎回入れるのは大変面倒なので一度入れたらメニューを閉じない限り、
>各EXEを自由に行き来できるようと思っています。
>昔BASICのころコモン文か何かあったような気がして

Command 関数 ではないのですか? 引数にパスワードを指定してEXEを起動する

ヘルプでCommand 関数の使用例 をご覧下さい。

ヘルプの使用例はチョット複雑すぎるので下記を試して見て下さい。

下記コードのEXEを作って下さい。
(フォームにはテキストボックスを1個貼り付けて置いて下さい)
Private Sub Form_Load()
    Dim password As String
    password = Command()
    Text1.Text = password
End Sub

-----------------------------------------------
下記プログラムで上記のEXEを起動して下さい。テキストボックスにパスワードが
表示されるはずです。
C:\comd.exe は上記のEXEのファイル名とパスです。

Private Sub Command1_Click()
    Dim Ret As Long
    Dim Password As String
    Password = "123あいうえおABC"
    Ret = Shell("C:\comd.exe " & Password, vbNormalFocus)
End Sub