2017-08-02 12 views
0

私はもう助けてください。 私は数週間前に私の質問と同じプロジェクトにいますが、別のビットに固執しています。Winmove()はCitrixアプリケーションと連携していません

私はマルチスクリーン(勝利7)をセットアップしており、いくつかのアプリケーションを起動し、正しい位置に移動/サイズ変更するアプリケーションを作成しようとしています。私はvb.netのコンソールアプリケーションとしてこれをやっています。 私は最後の質問で私は今起動することができます移動、サイズ変更、私はカップルを必要とするすべてのアプリケーションを閉じるヘルプを受けています。 残念ながら、私はCitrixを通じて2つのアプリケーションを実行する必要があります。 1つはExcelシートです。 移動したいウィンドウのタイトルバーが青に変わりますが、MoveWin()またはSetWindowPos()は何もしていないようですが、これらのウィンドウのウィンドウを選択して閉じるか閉じることができますそれを選択.. すべての援助をいただければ幸いです。 コードのセクションが下に貼り付けられます。私は現時点ではExcelでこれをテストしていると私は私のアプリのコンソールに全体でポート一度働いよ... おかげで...

Public Declare Function SetWindowPos Lib "user32.dll" (ByVal hwnd As Long, ByVal hWndInsertAfter As Long, ByVal x As Long, ByVal y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long 

Public Const SWP_FRAMECHANGED = &H20 'Fully redraw the window in its new position. 

Sub MoveWin() 
    Dim retval As Long 
    Dim hwnd As Long 
    Dim RetWhnd As Long 

    hwnd = '123456' 

    retval = SetWindowPos(hwnd, RetWhnd, 0, 0, 600, 400, SWP_FRAMECHANGED) ' Application.hwnd 
End Sub 
+0

なぜ私はExcelとVBAを使用していますか?私はspy ++のようなビットで動作する便利なユーティリティを書いています。これは、シート上のすべてのプロセスと子プロセスをリストし、ハンドルをクリックしてクローズや移動などをクリックしてコードをテストしますコードをまったく変更することなく、さまざまなアプリケーションを使用できます。これは、ウィンドウ内で直接実行されているアプリケーションではクローズ・ムーブなどがうまく動作しますが、Citrixからは動作しません。私にとって興味深いのは、主なウィンドウを動かすことができるということです。生まれたプロセスのどれもではありません。 – perfo

+0

ああ、私はvb.netについての混乱を見ます。私は質問vb.netにタグを付けました。私のテストはvb.netにはありませんが、私の最終的な解決策は、私がVb.netやVB6のアドバイスを受け取ってうれしいということです。質問にVB6フラグを追加するにはどうすればよいですか?ありがとう – perfo

+0

誰も以下のコメントがありますか?クライアントアプリケーションに移動コードを入力すると、起動したときに特定の画面位置に移動するようになりましたか?これは効果がありますか?コマンドラインステートメントに物事を追加することは可能ですか?私はこの質問をCitrixのフォーラムに載せましたが、私はその唯一のメンバーだと思います。私は自分自身に何の助けもしていません;-) – perfo

答えて

0

私は私の自宅のマシンではないですので、私は確認できませんこれは、私はかなりVB 6はコンパイルダイアログ(おそらく最後のもの)のタブを持っていることを確信していますが、それはcitrix関連のオプションのチェックボックスを持っています。それがなければ、プロジェクトのプロパティにあるかもしれません。

+0

これはVBA環境で利用できるかどうか知っていますか?私は良い検索をしてきましたが、現時点でそれを見ることはできません。私は別の質問があると思います、あなたはそれが何をしているのか分かりますか?回答をありがとう.... – perfo

+0

私の会計アプリケーションでは、私はCitrixを使用する1つの特定のユーザーがいます。私はそれが具体的に何をしているのかわからないが、私はそのクライアントを知っていたので、チェックボックスをチェックした。単にアプリケーションをcitrixに準拠させるという影響を言ったからだ。それは私の全体のユーザーベースに影響しませんでしたので、私はそれを設定したままにしました。私はそれがVBAに利用可能であることを疑う、私はVB 6.0でそれを特に見た。 –

+0

ありがとう、ビル、私はそれについて多くを見つけることができないようですが、コンパイルされたアプリに含まれてクライアント側のアプリとしてより良く動作するように見えるかもしれません。しかし、私は他のvb.netやVBAスタッフのクライアント側を動かすことに何の問題もなかったので、それが何であるかは分かりません。私は見続けるだろう。 – perfo

0

これは他の人に役立ちます。私はCitrixの人々に連絡したが、基本的に答えを知らない。私は少なくともそれが可能かどうかを知りたがっていました。とにかく私が確信できる限り、移動コマンドはCitrixの分割によっては可能ではないようです。私が思いついた解決策は、コードの実際の移動部分を遠隔実行アプリケーションに残すことです。それは、ローカルマシン上のiniファイルを見て、そこから指示を受け取るために、Citrixを介して実行されるアプリケーションへのビルドコードです。 これは素晴らしい機能を果たしますが、コンテナ言語を実行する機能を持っているか、何らかの形でラップすることができるアプリでのみ機能します..

関連する問題