質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

C++

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

Q&A

解決済

5回答

2062閲覧

初心者の疑問 C#, C++, Swift で作るデスクトップアプリ(windows)のアプリ操作について

tyler

総合スコア20

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

C++

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

0グッド

0クリップ

投稿2017/07/23 08:25

最近デスクトップアプリ(MacOS, windows両方)に興味があって色々な言語を調査しているんですが、まだ初心者でして疑問があり調べてもいまいちだったのでここ投稿してみました。

デスクトップアプリで下記のことは実現可能でしょうか?

・自作のデスクトップアプリで他のデスクトップアプリを操作する。
例えば自作のデスクトップアプリから、terminalをオープンさせてコマンド入力やterminalのwindowsサイズを変更するなど。また、chromeなどのブラウザアプリを開いたり、閉じたり、サイトの読み込みなどさせる。

調べた感じだとElectronだとちょっと無理なのかなと、おそらくC#, C++, Swift(JAVA?)などで出来るのかどうか知りたいです。

私の予想ですが、自作デスクトップアプリから他のデスクトップアプリを起動(プロセスを立ち上げる?)みたいなことはC#で出来るみたいですが、その起動させたデスクトップアプリのスクリーンサイズやポジションなどまで自作アプリから操作することが出来るのでしょうか?

ちょっとごちゃごちゃしてしまいましたが、要は自作デスクトップアプリで他のデスクトップアプリをどこまで操作出来るのか知りたいです。そしてどの言語でそれが可能なのか。

駄文で申し訳ございませんが、何卒ご教授頂けますと幸いです。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答5

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

tyler

2017/07/26 03:07

JXA初めて聞きました。Macはこの辺調べた方が良さそうですね。。有難うございます!大変参考になりました!
guest

0

Electron(Node.js)だろうがなんだろうが、結局OSのAPIを叩くことになるので、別にどれでもいいとは思います。

投稿2017/07/23 08:52

yumetodo

総合スコア5850

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

tyler

2017/07/24 07:23

有難うございます。なるほどOSのAPI(DLL)が大事なんですね! OS APIのオススメの書籍などご存知だったらご教授頂けますと幸いです。調べると2012年とかちょっと古めが多かったのでそれでも大丈夫であれば買おうと思ういます!
yumetodo

2017/07/24 09:07

>OS APIのオススメの書籍 英語資料を辿れないのなら諦めて既存のソフトウェアを使うべきでは。
tyler

2017/07/24 09:30

英語資料しかないんですね〜 分かりました英語の資料探します!有難うございます!
guest

0

こんにちは。

少し面倒ですが、WindowsならUIAutomationで結構な操作が可能だと思います。
自前で描画せずにWindowsのAPIを使っているアプリケーションならば。

参考までに。
https://blogs.msdn.microsoft.com/japan_platform_sdkwindows_sdk_support_team_blog/2011/05/26/ui-automation/

もしくは、h_aさんが紹介されているようにWindowメッセージを投げるか、になるのではないでしょうか。

投稿2017/07/24 16:10

Tak1wa

総合スコア4791

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

tyler

2017/07/26 03:09

有難うございます。UIAutomationが結構私がやりたいことに近いかもです!参考URL熟読させていただきます!
guest

0

もし、コントロールされるアプリも自作するのであればなんでもできると思います。
市販のアプリを外部から操作するのはかなり制限があると思います。

投稿2017/07/24 07:56

PineMatsu

総合スコア3579

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

tyler

2017/07/24 09:31

やはりそうですか〜。有難うございます。
guest

0

C#で他アプリケーションを操作するための基礎知識
こちらの記事によると

何か特殊な対策を行っていない限り原理的にはどのようなアプリケーションも制御できることになります。

とのことです。
こちらの記事の著者の方はC#とC++を使っておられるようです。

投稿2017/07/23 10:48

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

tyler

2017/07/24 07:24

有難うございます!やはりC#とC++らへんが相性が良いのかもですね。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問