用C语言写的API运行的时候总是先弹出一个命令行窗口,如何让他不弹出来?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用C语言写的API运行的时候总是先弹出一个命令行窗口,如何让他不弹出来?相关的知识,希望对你有一定的参考价值。

一 调用静态载入

1 客户端函数声名:

1)笮⌒疵舾小?br />
2)与DLL中的声明一样。

如: showform(form:Tform);Far;external\'yproject_dll.dll\';

3)调用时传过去的参数类型最好也与windows c++一样。

4)调用时DLL必须在windows搜索路径中,顺序是:当前目录;Path路径;windows;widows;windows;

二 调用动态载入

1 建立一种过程类型[如果你对过程类型的变量只是一个指针的本质清楚的话,你就知道是怎么回事了]。如:

type

mypointer=procedure(form:Tform);Far;external;

var

Hinst:Thandle;

showform:mypointer;

begin

Hinst:=loadlibrary(\'yproject_dll\');//Load一个Dll,按文件名找。

showform:=getprocaddress(Hinst,\'showform\');//按函数名找,大小写敏感。如果你知道自动化对象的本质就清楚了。

showform(application.mainform);//找到函数入口指针就调用。

Freelibrary(Hinst);

end;
我可以帮助你,你先设置我最佳答案后,我百度Hii教你。
参考技术A 这个你没法控制。。。
BOOL SetConsoleWindowInfo(
HANDLE hConsoleOutput, // handle to console screen buffer
BOOL bAbsolute, // coordinate type flag
CONST SMALL_RECT *lpConsoleWindow
// address of new window rectangle
);

你用这个试下,我没有尝试。
参考技术B 单行选中用数据窗口.getrow()

多行得用属性判断了,selected

以上是关于用C语言写的API运行的时候总是先弹出一个命令行窗口,如何让他不弹出来?的主要内容,如果未能解决你的问题,请参考以下文章

怎样将windows下写的c程序在linux下编译运行,谢谢?

关闭c++MFC的主窗体,先弹出对话框询问“是不是要关闭”,点击确定取消按钮进行确认。

易语言怎么调用C写的DLL

用VS2012如何执行C语言编写的程序?

Ubuntu下编写的单机程序能在centos系统上运行吗?

C语言的宏定义问题