导航:首页 > 软件知识 > 如何调用其它软件程序

如何调用其它软件程序

发布时间:2022-11-15 14:02:28

A. 如何调用一个exe程序

system()的输入参数是一个字符串,这个函数的作用就是在命令行下以命令的形式执行这个字符串。“C:\a.exe” 在命令行下是可以直接运行的,所以直接填到参数里就行了。不过需要注意的是,字符串作为参数的时候“\”要做一下转义,要变成“\\”才行。
所以正确的使用方法应该是
system("C:\\a.exe");
注意,system在调用的时候需要加上#include <stdlib.h>的头文件。

B. 如何在windows服务里调用其它应用程序

修改注册表
在“开始→运行”中键入“regedit.exe”,打开“注册表编辑器”,展开分支“HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services”,在右侧窗格中显示的就是本机安装的服务项。
如果要新建服务,只须点击“编辑→新建→项”,然后为此项命名,如“test”;然后右击该项,选择“新建→字符串值”或“新建→DWORD值”即可。添加一个服务项目具体需要添加的键值如下:
“DisplayName”,字符串值,对应服务名称;
“Description”,字符串值,对应服务描述;
“ImagePath”,字符串值,对应该服务程序所在的路径;
“ObjectName”,字符串值,值为“LocalSystem”,表示本地登录;
“ErrorControl”,DWORD值,值为“1”;
“Start”,DWORD值,值为2表示自动运行,值为3表示手动运行,值为4表示禁止;
“Type”,DWORD值,应用程序对应10,其它对应20。
另外,还要在“test”项下新建一个“Enum”项。按照以上步骤添加QQ程序为服务,重新启动计算机后,打开“服务”窗口,就可以看到刚才添加的QQ服务。
如果要删除某项服务,只要删除注册表的中相关键值即可,本例中要删除QQ服务,直接删除“HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\test”分支即可

C. 怎么在一个应用中启动另外一个应用

一、调用自己开发的应用
1)在plist文件中,注册对外接口
在xcode group&files 里面,展开 resources选择info.plist,鼠标右击information property list ,然后从列表中选择URL types,右击 add row 添加一个对象(item)右击item add row

从列表中选择 URL Schemes 再右击添加一个对象(item1),将item1得值设置为:myapp。这个myapp就是对外接口,其它应用可以通过它,调用该应用

2).处理URL请求

应用程序委托在 application:handleOpenURL:方法中处理传递给应用程序的URL请求。如果您已经为自己 的应用程序注册了定制的URL模式,则务必在委托中实现这个方法。

下面代码实现了这个委托方法; -
(BOOL)application:(UIApplication *)application handleOpenURL:(NSURL
*)url

{

if([[url
scheme] isEqualToString:@"myapp"]){

[application
setApplicationIconBadgeNumber:10];

return
YES;

}

return
NO;

}

3).测试外部调用

1、回到Home屏幕,启动Safari(在iPhone仿真器上,在菜单上选择Hardware->Home命令就可以回到Home屏幕)。
2、在Safari的地址栏中,键入使用定制模式的URL:myapp:
3、确认应用程序是否启动,以及应用程序委托是否收到application:handleOpenURL:消息。

4)调用方法
在你需要调用上面注册过对外接口的应用中,添加下面代码即可
NSURL
*url = [NSURL URLWithString:@"myapp:"];

[[UIApplication
sharedApplication] openURL:url];

通过上述两个步骤,你可以在你的应用中,让用户打开你的其它应用

二、调用IOS自带的应用
上面讲述的是调用自身的应用,讲解了如何在自己应用之间调用问题,今天介绍一下如果调用IOS自带的app的方法

一、调用app
store界面方法
在实际开发中,往往要推荐自己其他应用和推荐自己的收费软件,那么我们就需要在程序中直接连接到app store的相应页面。实际上的做法很简单,使用的还是UIApplication类的OpenURL方法:
[[UIApplication
sharedApplication] openURL:[NSURL URLWithString:@"程序的相应连接"]];
二、调用其它应用的方法。

D. 怎么打开第三方应用程序

需求场景:
在自己开发的应用程序里,有个跳转到其他应用的按钮,比如分享到“新浪微博”,当点击这个按钮时,先判断手机中是否有安装“新浪微博”这个程序,有则启动“新浪微博”客户端,否则从指定的URL地址进行下载。
简言之,开启其他应用,包名跳转。
1、从一个应用跳转到其他应用要获取什么信息?
need第三方应用的包名,以及下载链接。
2、如何判断本机是否已经安装了该第三方应用?
(1)首先得到该程序的包名;
别人的应用程序我怎么知道他的包名和类名?
- 通过adb里面看程序装的所有应用
- 写一个遍历程序,获取所有已安装的程序,把包名打印出来,新浪微博的包名中应该会带有sina字眼,如 com.sina.weibo
//获取已经安装apk列表
List<PackageInfo> packList = context.getPackageManager().getInstalledPackages(0);
//获得包名PackageInfo.packageName

(2)然后通过PackageManager判断是否存在该包的程序 。
android的每一个apk的activity的包的名字都是唯一的,所以可以通过判断这个activity所在包的名字来判断是不是该Apk已经安装
例1:
//以twitter程序为例,假设twitter程序包名为“com.twitter.android”。这时候可用以下代码来判断是否被安装。
//QQ客户端的包名是"com.tencent.mobileqq"
PackageInfo packageInfo;//PackageInfo所在包为android.content.pm
try {
packageInfo = this.getPackageManager().getPackageInfo("com.twitter.android", 0);
} catch (NameNotFoundException e) {
packageInfo = null;
e.printStackTrace();
}
if(packageInfo ==null){
System.out.println("没有安装");
}else{
System.out.println("已经安装");
}

例2:可以封装到方法里,操作一样,只是把包名作为参数传入,返回值为布尔类型
private boolean isPkgInstalled(String pkgName) {
PackageInfo packageInfo = null;
try {
packageInfo = this.getPackageManager().getPackageInfo(pkgName, 0);
} catch (NameNotFoundException e) {
packageInfo = null;
e.printStackTrace();
}
if (packageInfo == null) {
return false;
} else {
return true;
}

3、怎么跳转?
通过隐式intent跳转
例3:PackageManager中有getLaunchIntentForPackage这个方法!
//String pkg代表包名,String download代表下载url
final PackageManager pm = context.getPackageManager();
Intent intent = pm.getLaunchIntentForPackage(pkg);
if (null == intent) {//没有获取到intent
if (!TextUtils.isEmpty(downoad)) {//跳转到下载第三方应用界面
context.startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(downoad)));
}
} else {
context.startActivity(intent);
}

例4:在我们自己的程序中调用其他程序时往往要检查手机有没有安装该软件后再做相应操作,如没有安装,用intent将用户引导至android market去下载该程序,如已安装则打开该程序,并传入参数和调用其功能。
//下面介绍怎么判断手机已安装某程序的方法:
private boolean isAvilible(Context context, String packageName){
final PackageManager packageManager = context.getPackageManager();//获取packagemanager
List< packageInfo> pinfo = packageManager.getInstalledPackages(0);//获取所有已安装程序的包信息
List<String> pName = new ArrayList<String>();//用于存储所有已安装程序的包名
//从pinfo中将包名字逐一取出,压入pName list中
if(pinfo != null){
for(int i = 0; i < pinfo.size(); i++){
String pn = pinfo.get(i).packageName;
pName.add(pn);
}
}
return pName.contains(packageName);//判断pName中是否有目标程序的包名,有TRUE,没有FALSE
}

//下面是调用该方法进行判断后的逻辑:
//已安装,打开程序,需传入参数包名:"com.skype.android.verizon"
if(isAvilible(this, "com.skype.android.verizon")){
Intent i = new Intent();
ComponentName cn = new ComponentName("com.skype.android.verizon",
"com.skype.android.verizon.SkypeActivity");
i.setComponent(cn);
startActivityForResult(i, RESULT_OK);
}
//未安装,跳转至market下载该程序
else {
Uri uri = Uri.parse("market://details?id=com.skype.android.verizon");//id为包名
Intent it = new Intent(Intent.ACTION_VIEW, uri);
startActivity(it);
}

参考链接:http://www.eoeandroid.com/thread-152763-1-1.html?_dsign=2242c74c
4、跳转后呢?
如何在android应用程序中启动其他apk程序,被启动程序退出后返回之前的程序?
//你只需要在A中打开B,并为B设置 intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
//不做对A的关闭处理finish() 这样就可以了

Intent intent=new Intent();
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.setComponent(new ComponentName(objAppClassName, mainActivity));
context.startActivity(intent);

例5:原始跳转方法,要包名和类名(通过ComponentName),后来可以只要包名…
Android 开发有时需要在一个应用中启动另一个应用,比如Launcher加载所有的已安装的程序的列表,当点击图标时可以启动另一个应用。
一般我们知道了另一个应用的包名和MainActivity的名字之后便可以直接通过如下代码来启动:
Intent intent = new Intent(Intent.ACTION_MAIN);
intent.addCategory(Intent.CATEGORY_LAUNCHER);
ComponentName cn = new ComponentName(packageName, className);
intent.setComponent(cn);
startActivity(intent);

但是更多的时候,我们一般都不知道应用程序的启动Activity的类名,而只知道包名,我们可以通过ResolveInfo类来取得启动Acitivty的类名。
下面是实现代码:
private void openApp(String packageName) {
PackageInfo pi = getPackageManager().getPackageInfo(packageName, 0);

Intent resolveIntent = new Intent(Intent.ACTION_MAIN, null);
resolveIntent.addCategory(Intent.CATEGORY_LAUNCHER);
resolveIntent.setPackage(pi.packageName);

List<ResolveInfo> apps = pm.queryIntentActivities(resolveIntent, 0);

ResolveInfo ri = apps.iterator().next();
if (ri != null ) {
String packageName = ri.activityInfo.packageName;
String className = ri.activityInfo.name;

Intent intent = new Intent(Intent.ACTION_MAIN);
intent.addCategory(Intent.CATEGORY_LAUNCHER);

ComponentName cn = new ComponentName(packageName, className);

intent.setComponent(cn);
startActivity(intent);
}
}

E. 如何通过android的应用程序调用另一个应用

  1. 如果你知道另外一个程序的类名就可以这样写

intent.addCategory(Intent.CATEGORY_LAUNCHER);
ComponentNamecn=newComponentName(packageName,className);
intent.setComponent(cn);
startActivity(intent);

2.如果你只知道包名不知道类名,首先获取类名

privatevoidopenApp(StringpackageName){
PackageInfopi=getPackageManager().getPackageInfo(packageName,0);

IntentresolveIntent=newIntent(Intent.ACTION_MAIN,null);
resolveIntent.addCategory(Intent.CATEGORY_LAUNCHER);
resolveIntent.setPackage(pi.packageName);

List<ResolveInfo>apps=pm.queryIntentActivities(resolveIntent,0);

ResolveInfori=apps.iterator().next();
if(ri!=null){
StringpackageName=ri.activityInfo.packageName;
StringclassName=ri.activityInfo.name;

Intentintent=newIntent(Intent.ACTION_MAIN);
intent.addCategory(Intent.CATEGORY_LAUNCHER);

ComponentNamecn=newComponentName(packageName,className);

intent.setComponent(cn);
startActivity(intent);
}
}

然后使用1中的方法调用程序

F. c# 在窗体应用程序中如何调用计算机上的其他应用程序

有三种方式:
1.用shell,可以调用任意一个程序或文件
2.PROCESS,可以打开任意一个应用程序
这两种方式均可以打开程序,但不能对程序中的函数进行访问。
3.使用反射,这样可以将程序加载到当前程序中,并对程序中的函数和方法进行访问。

G. 怎样在一个 C 程序中调用另一个程序 (独立可执行的程序, 或系统命令)

使用库函数 system(), 它的功能正是所要的。注意, 系统返回的值最多是命令的退出状态值 (但这并不是一定的), 通常和命令的输出无关。还要注意,system() 只接受一个单独的字符串参数来表述调用程序。如果要建立复杂的命令行, 可以使用 sprintf()。根据使用的系统, 也许还可以使用系统函数, 例如exec 或 spawn (或execl,execv, spawnl, spawnv 等)。

H. 如何在一个应用程序中打开另一个程序

一, 调用自己开发的应用

1)在plist文件中,注册对外接口

在xcode group&files 里面,展开 resources选择info.plist

鼠标右击information property list ,然后从列表中选择URL types

右击 add row 添加一个对象(item)右击item add row

从列表中选择 URL Schemes 再右击添加一个对象(item1)

将item1得值设置为:myapp

这个myapp就是对外接口,其它应用可以通过它,调用该应用

plist如下图所示:

2).处理URL请求

应用程序委托在 application:handleOpenURL:方法中处理传递给应用程序的URL请求。如果您已经为自己 的应用程序注册了定制的URL模式,则务必在委托中实现这个方法。

下面代码实现了这个委托方法;

- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url

{

if([[url scheme] isEqualToString:@"myapp"]){

[application setApplicationIconBadgeNumber:10];

return YES;

}

return NO;

}

3).测试外部调用

1.回到Home屏幕,启动Safari(在iPhone仿真器上,在菜单上选择Hardware->Home命令就可以回到Home屏幕)。

2.在Safari的地址栏中,键入使用定制模式的URL:myapp:

3.确认您的应用程序是否启动,以及应用程序委托是否收到application:handleOpenURL:消息。

4)调用方法

在你需要调用上面注册过对外接口的应用中,添加下面代码即可

NSURL *url = [NSURL URLWithString:@"myapp:"];

[[UIApplication sharedApplication] openURL:url];

通过上述两个步骤,你可以在你的应用中,让用户打开你的其它应用

二, 调用IOS自带的应用

上面讲述的是调用自身的应用,讲解了如何在自己应用之间调用问题,今天介绍一下如果调用IOS自带的app的方法

一、调用app store界面方法

在实际开发中,往往要推荐自己其他应用和推荐自己的收费软件,那么我们就需要在程序中直接连接到app store的相应页面。

实际上的做法很简单,使用的还是UIApplication类的OpenURL方法:

[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"程序的相应连接"]];
二、调用其它应用的方法

I. 如何在c语言中打开另一个程序

一, 调用自己开发的应用

1)在plist文件中,注册对外接口

在xcode group&files 里面,展开 resources选择info.plist

鼠标右击information property list ,然后从列表中选择URL types

右击 add row 添加一个对象(item)右击item add row

从列表中选择 URL Schemes 再右击添加一个对象(item1)

将item1得值设置为:myapp

这个myapp就是对外接口,其它应用可以通过它,调用该应用

plist如下图所示:

2).处理URL请求

应用程序委托在 application:handleOpenURL:方法中处理传递给应用程序的URL请求。如果您已经为自己 的应用程序注册了定制的URL模式,则务必在委托中实现这个方法。

下面代码实现了这个委托方法;

- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url

{

if([[url scheme] isEqualToString:@"myapp"]){

[application setApplicationIconBadgeNumber:10];

return YES;

}

return NO;

}

3).测试外部调用

1.回到Home屏幕,启动Safari(在iPhone仿真器上,在菜单上选择Hardware->Home命令就可以回到Home屏幕)。

2.在Safari的地址栏中,键入使用定制模式的URL:myapp:

3.确认您的应用程序是否启动,以及应用程序委托是否收到application:handleOpenURL:消息。

4)调用方法

在你需要调用上面注册过对外接口的应用中,添加下面代码即可

NSURL *url = [NSURL URLWithString:@"myapp:"];

[[UIApplication sharedApplication] openURL:url];

通过上述两个步骤,你可以在你的应用中,让用户打开你的其它应用

二, 调用IOS自带的应用

上面讲述的是调用自身的应用,讲解了如何在自己应用之间调用问题,今天介绍一下如果调用IOS自带的app的方法

一、调用app store界面方法

在实际开发中,往往要推荐自己其他应用和推荐自己的收费软件,那么我们就需要在程序中直接连接到app store的相应页面。

实际上的做法很简单,使用的还是UIApplication类的OpenURL方法:

[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"程序的相应连接"]];
二、调用其它应用的方法

J. 如何在自己的应用程序中启动其他应用程序

一,
调用自己开发的应用
1)在plist文件中,注册对外接口
在xcode
group&files 里面,展开 resources选择info.plist
鼠标右击information
property list ,然后从列表中选择URL types
右击
add row 添加一个对象(item)右击item add row
从列表中选择
URL Schemes 再右击添加一个对象(item1)
将item1得值设置为:myapp
这个myapp就是对外接口,其它应用可以通过它,调用该应用
plist如下图所示:

2).处理URL请求
应用程序委托在 application:handleOpenURL:方法中处理传递给应用程序的URL请求。如果您已经为自己
的应用程序注册了定制的URL模式,则务必在委托中实现这个方法。
下面代码实现了这个委托方法;
-
(BOOL)application:(UIApplication *)application handleOpenURL:(NSURL
*)url
{
if([[url
scheme] isEqualToString:@"myapp"]){
[application
setApplicationIconBadgeNumber:10];
return
YES;
}
return
NO;
}
3).测试外部调用
1.回到Home屏幕,启动Safari(在iPhone仿真器上,在菜单上选择Hardware->Home命令就可以回到Home屏幕)。
2.在Safari的地址栏中,键入使用定制模式的URL:myapp:
3.确认您的应用程序是否启动,以及应用程序委托是否收到application:handleOpenURL:消息。
4)调用方法
在你需要调用上面注册过对外接口的应用中,添加下面代码即可
NSURL
*url = [NSURL URLWithString:@"myapp:"];
[[UIApplication
sharedApplication] openURL:url];
通过上述两个步骤,你可以在你的应用中,让用户打开你的其它应用

二,
调用IOS自带的应用
上面讲述的是调用自身的应用,讲解了如何在自己应用之间调用问题,今天介绍一下如果调用IOS自带的app的方法
一、调用app
store界面方法
在实际开发中,往往要推荐自己其他应用和推荐自己的收费软件,那么我们就需要在程序中直接连接到app
store的相应页面。

实际上的做法很简单,使用的还是UIApplication类的OpenURL方法:
[[UIApplication
sharedApplication] openURL:[NSURL URLWithString:@"程序的相应连接"]];
二、调用其它应用的方法

阅读全文

与如何调用其它软件程序相关的资料

热点内容
全国版权交易平台有多少家 浏览:928
学信网信息补充哪个学校怎么填 浏览:319
地产营销代理是什么 浏览:235
个体商户的委托代理人是什么人 浏览:516
国产红酒怎么代理 浏览:609
开学报到个人信息怎么填 浏览:12
干洗技术学什么好 浏览:609
中山大学的电子信息类是学什么的 浏览:658
最细市场上米线是什么样 浏览:724
青海有哪些农牧产品 浏览:654
济南纺织市场搬去哪里 浏览:418
代理人员的责任有哪些 浏览:305
职高和职业技术哪个好 浏览:573
芒果市场上一斤多少钱 浏览:477
怎么在程序和功能上删掉橘子 浏览:958
碳排放权上线交易什么意思 浏览:229
熟食市场怎么打开 浏览:371
怎么选产品爆款 浏览:741
打了疫苗后为什么查不到信息 浏览:731
微信有了小程序怎么退出 浏览:446