Winapi 如何从Cygwin程序调用Win32 API
我希望在我正在进行的项目中使用Win32 API。但是,我不知道如何从我的cygwin项目中调用Win32 API。有人能给我指出正确的方向吗?可以通过包含“windows.h”头文件从cygwin程序访问Win32 API。当然,这意味着您已经安装了win32软件包。以下是一个示例程序:Winapi 如何从Cygwin程序调用Win32 API,winapi,cygwin,Winapi,Cygwin,我希望在我正在进行的项目中使用Win32 API。但是,我不知道如何从我的cygwin项目中调用Win32 API。有人能给我指出正确的方向吗?可以通过包含“windows.h”头文件从cygwin程序访问Win32 API。当然,这意味着您已经安装了win32软件包。以下是一个示例程序: #include <iostream> #include <string> #include <windows.h> int main(int argc, char *a
#include <iostream>
#include <string>
#include <windows.h>
int main(int argc, char *argv[])
{
std::string val;
if (argc > 1)
{
val = argv[1];
}
std::cout << "You typed: " << val << std::endl;
::MessageBox(NULL, val.c_str(), "You Typed:", MB_OK);
return 0;
}
#包括
#包括
#包括
int main(int argc,char*argv[])
{
std::字符串val;
如果(argc>1)
{
val=argv[1];
}
std::cout您可以查看(特别是6.9如何使用Win32 API调用?)
当然,你需要掌握Win32 API的标题——你最好的选择是下载/安装FRE C++编译器(例如,MIW),并参考它的头。
< P>如果你知道Perl,你可能想使用Win32::GUI模块来创建窗口和对话框。确保PrL5被包含在CygWin安装中。
从cygwin命令行运行cpan以获取cpan解释器,然后执行get win32::GUI
如果教程不是从菜单中运行的,只需将它们复制并粘贴到vi文件中,并在保存时使其可执行
例句:(简单的对话来增强)
你能更具体地说明你想做什么吗?当然,这是关于我问的另一个问题:有趣…我会试试这个。从这个例子的外观来看,它是否创建了一个弹出窗口?思考如果是的话,这可能确实是一件很棒的事情!是的,它创建了一个弹出窗口。只要确保你有win32开发包就可以了暂停。我通常会完整安装Cygwin,所以我不能马上告诉你具体是哪一个。我觉得我刚刚找到一张100美元的钞票……说真的:这正是我要找的!你也帮了我,Amardeep。谢谢!好东西!谢谢。如果有人需要,我会找到进一步的参考资料。
**To Get Familiar with win32::GUI**
===========================================
win32-gui-demos.pl for a tutorial
man 1 win32-gui-demos.pl for an overview -or-
perldoc win32-gui-demos.pl for an overview
perldoc win32::GUI for an intro
#!perl -w
use strict;
use warnings;
use Win32::GUI();
my $main = Win32::GUI::DialogBox->new(
-name => 'Main',
-text => 'Continue with Outlook Backup?',
-width => 200,
-height => 200
);
$main->AddButton(
-name => 'Default',
-text => 'Ok',
-default => 1, # Give button darker border
-ok => 1, # press 'Return' to click this button
-width => 60,
-height => 20,
-left => $main->ScaleWidth() - 140,
-top => $main->ScaleHeight() - 30,
);
$main->AddButton(
-name => 'Cancel',
-text => 'Cancel',
-cancel => 1, # press 'Esc' to click this button
-width => 60,
-height => 20,
-left => $main->ScaleWidth() - 70,
-top => $main->ScaleHeight() - 30,
);
$main->Show();
Win32::GUI::Dialog();
exit(0);
sub Main_Terminate {
return -1;
}
sub Default_Click {
print "OK to Proceed Selected\n";
return 0;
}
sub Cancel_Click {
print "Cancel Backup Selected\n";
return 1;
}