`
isiqi
  • 浏览: 16840696 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

如何在c++ builder中调用windows应用程序

阅读更多
一般,windows程序员在编写windows程序时,为了降低编程的难度和缩短编程的时间,经常会调用各种windows资源,如画笔,写字板等资源。对于其他的程序设计语言,我们一般使用 api函数来实现着一功能,那么在borland c++ builder 上我们又如何实现呢?最近笔者在编写电子屏显示软件时,用api函数实现了该功能。

现以使用api函数调用windows画笔为列,把该方法介绍如下:

1、启动 c++ builder 进入菜单file|new application创建一个新项目,将该项目存盘,得到含有一个主窗口的项目。在主窗口上添加一个打开图片对话框控件OpenPictureDialog1和按扭控件Button1。

2、在主文件的文件头添加#include <ccid_code>&amp;lt;shellapi.h&amp;gt;</ccid_code>

3、在头文件的private 处添加 char BmpExec[100];

4、在Button1的OndbClick事件处添加如下代码:

void __fastcall TMainForm1::Button1Click(TObject *Sender)

{

AnsiString TempName;

FileClose(FileCreate("testest.bmp"));

FindExecutable("testest.bmp",NULL,BmpExec);//返回可执行文件名的句柄//

DeleteFile("testest.bmp");//删除文件//

OpenPictureDialog1->DefaultExt = String("BMP");

OpenPictureDialog1->Filter ="图片文件(*.bmp)|*.bmp";

OpenPictureDialog1->FileName="*.bmp";

if (OpenPictureDialog1->Execute())

{

if (OpenPictureDialog1->FileName.AnsiPos(".")<ccid_code>&amp;lt;1) <br><br>openpicturedialog1-&amp;gt;</ccid_code>FileName=OpenPictureDialog1->FileName+".BMP";

//给没有扩展名的文件加上扩展名,此时FileName为文名的全名//

CloseHandle(CreateFile(OpenPictureDialog1->FileName.c_str(),//参数1 为文件名//

GENERIC_WRITE, //参数2 文件的访问模式:设置为文件可写并且文件指针//

FILE_SHARE_WRITE, //参数3 文件的共享模式:如果写访问允许文件可被修改//

NULL, //参数4 安全属性: 用缺省的操作符//

OPEN_ALWAYS, //参数5 如果文件不存在,如何创造文件:设置为存在则打开,如不存在则新建//

FILE_ATTRIBUTE_NORMAL, //参数6,文件的属性和标志,文件没有其他的属性//

));//关闭打开的事物句柄//

//以上的代码使文件设置为共享,从而使下面的代码顺利执行//

TempName=AnsiString(BmpExec); //把char 转换成AnsiString//

TempName=TempName+" "+OpenPictureDialog1->FileName;//应用程序名+相应的被处理文件//

WinExec(TempName.c_str(),SW_SHOWNORMAL);//执行应用程序//

}

}

5、编译执行。当双激按扭Button1时,程序出现打开图片文件的对话框,选则要打开的bmp文件,便可以调用windows的画笔打开自己选定的bmp文件了。

在每一条语句的后面,笔者都加了注释,有兴趣的朋友可以一试。
分享到:
评论

相关推荐

    C++ Builder MDI 调用 DLL 子窗体(基于 BCB2010)

    C++ Builder MDI (Multiple Document Interface) 应用程序是一种允许用户同时处理多个文档的软件设计模式。...在C++ Builder 2010中,可以充分利用其强大的VCL库和面向对象特性,轻松实现MDI应用程序的DLL子窗体功能。

    C++Builder建立及调用DLL

    7. **调用DLL**:在需要使用DLL的C++Builder应用程序中,首先需要包含相应的头文件,然后使用`LoadLibrary`和`GetProcAddress`函数动态加载和获取DLL中的函数指针。例如: ```cpp HMODULE dllHandle = LoadLibrary...

    C++ Builder调用Delphi的pas文件实例

    要让C++ Builder调用Delphi的PAS文件,我们需要遵循以下步骤: 1. **创建Delphi的PAS文件**:在Delphi中编写PAS文件,定义需要被C++调用的函数或方法。确保这些函数使用标准的C调用约定(`stdcall`),以便跨语言...

    C++ Builder实现调用打印机打印图片

    在C++ Builder中实现调用打印机打印图片涉及多个步骤,主要涵盖图形设备接口(GDI)的使用、图像处理以及打印机通信。以下是一份详细的指南,涵盖了这一过程的关键知识点: 1. **理解GDI**: GDI是Windows API的核心...

    利用c++Builder与Windows API编程.zip

    通过以上步骤,你可以在C++Builder项目中灵活地调用Windows API,扩展C++Builder自带组件的功能,实现更复杂的应用需求。在学习过程中,理解每个API函数的作用和使用方法,以及如何将它们融入到C++Builder的事件驱动...

    在C++builder中嵌入谷歌浏览器

    在C++Builder(通常简称为BCB)中嵌入谷歌浏览器是一项常见的开发任务,它能够为应用程序提供现代的Web浏览功能。在这个过程中,开发者通常会借助第三方库来实现这一目标,比如DCEF3(Desktop Chrome Embedding ...

    C++Builder c++builder高级应用开发指南

    C++Builder中的TAnimate控件可以用来添加简单的动画效果到Windows应用程序,如窗口淡入淡出、滑动等。 通过对以上主题的深入理解和实践,C++Builder开发者可以构建出功能丰富、性能优异的桌面应用程序。无论是开发...

    C++builder 调用C# DLL

    这是一个C++builder 调用C# DLL的标准范例,通过该范例的学习可以掌握BCB调用C#的DLL的方法。具有很强的学习和借鉴意义。

    C++ Builder 调用JavaScript的例子

    C++ Builder主要用于开发桌面应用程序,提供高效、低级别的控制,而JavaScript则广泛用于网页和网络应用,提供动态交互性。然而,有时我们需要在C++ Builder中调用JavaScript代码,以利用其在客户端交互和数据处理...

    C++ Builder与Windows API经典范例 5

    在IT领域,C++ Builder是一款强大的集成开发环境(IDE),专为使用C++语言构建Windows应用程序而设计。它集成了RAD(快速应用开发)工具,允许开发者高效地编写和调试代码。Windows API(应用程序接口)是微软操作...

    c++ builder 2007 安装程序

    C++ Builder 2007 是一款由...总的来说,C++ Builder 2007 是一个功能强大的C++开发工具,尤其适合那些希望快速构建Windows桌面应用程序的开发者。通过其丰富的库和工具,开发者可以高效地实现他们的编程目标。

    c++builder 调用MATLAB引擎

    在IT领域,C++Builder是一种流行的集成开发环境(IDE),用于构建高性能的Windows和移动应用程序。MATLAB,另一方面,是MathWorks公司推出的一种强大的数学计算软件,广泛应用于工程、科学和金融领域。当我们需要在...

    C++Builder Printer打印机程序

    可能需要利用C++的标准库或者Windows API来实现接口,使得C++Builder的代码能在VC++环境中正常工作。 5. **编译与调试**:理解C++Builder的编译器选项和调试工具,如设置预处理器宏、链接库、优化选项等,对优化...

    C++Builder调用vs2010演示代码

    生成lib文件之后,C++Builder便可以使用这个lib文件了。 注意事项三: 文件头的声明应该完全一样,否则(呵呵),会出现链接错误。 #ifdef DLL_API #define DLL_API extern "C" _declspec(dllexport) #else #...

    SPY c++builder 6 编写SPY源程序

    标题 "SPY c++builder 6 编写SPY源程序" 描述的是一个使用C++Builder 6(CBC6)开发的项目,其目的是创建一个类似于SPY的应用程序。这个程序可能涉及到系统监控、调试或者信息捕获等功能,因为"SPY"通常指的是能够...

    C++Builder 资料库

    33.Windows95/98下怎样隐藏应用程序不让它出现在CTRL-ALT-DEL对话框中? 34.怎样隐藏应用程序的任务条图标 35.编写自己的Ping.exe程序 36.用C++Builder在WINNT下编制一个Service 37.如何在C++ BUILDER中自动关闭...

    C++Builder DataSnap程序

    C++Builder DataSnap程序是一种利用Embarcadero C++Builder集成开发环境构建的分布式应用程序,它结合了C++编程语言的高效性和DataSnap框架的强大功能。DataSnap是Borland/Embarcadero开发的一种技术,用于创建...

    C++builder_连接USB接口的方法

    在C++Builder中,可以使用标准的Windows API来实现上述功能。下面是一些关键的代码片段示例: ```cpp #include &lt;windows.h&gt; #include #include // 定义USB设备句柄 HANDLE hDevice; // 打开USB设备 hDevice = ...

    C++Builder与Windows API经典范例(源码)

    在C++Builder中,开发者可以使用C++语言调用Windows API函数。通常,这需要包含适当的头文件(如windows.h),并使用extern "C"来避免C++的名称修饰问题。例如,创建窗口、处理消息循环、响应用户输入等都是通过...

Global site tag (gtag.js) - Google Analytics