Questions tagged «winapi»

Windows API(以前称为Win32 API)是可用于Microsoft Windows操作系统的应用程序编程接口的核心集。该标签用于有关使用Windows API开发本机Windows应用程序的问题。

12
Windows 7 SDK安装失败
我似乎完全无法将Windows 7 SDK安装到我的计算机上,并且我在网络上找到的唯一解决方案是对注册表进行大量更改。我已经做到了-仍然没有成功。 这是报告的错误: 安装选定的Windows SDK组件时发生问题。 “用于Windows 7的Microsoft Windows SDK”产品的安装报告了以下错误:有关详细信息,请参阅Samples \ Setup \ HTML \ ConfigDetails.htm文档。 请尝试解决问题,然后再次启动Windows SDK安装程序。如果您仍然遇到此问题,请访问SDK团队支持页面,网址为http://go.microsoft.com/fwlink/?LinkId=130245。 单击查看日志按钮以查看安装日志。 要退出,请单击完成。 也没有Samples要引用的目录,并且SDK支持团队似乎不再住在该目录中。 我该如何解决这个问题?

17
如何配置OpenFileDialog选择文件夹?
在VS .NET中,当您为项目选择文件夹时,将显示一个对话框,看起来像一个OpenFileDialog或SaveFileDialog,但设置为仅接受文件夹。自从我看到这一点以来,我一直想知道它是如何完成的。我知道FolderBrowserDialog,但我从未真正喜欢过该对话框。它开始时太小,不能让我利用能够输入路径的优势。 我几乎可以肯定的是,目前尚无从.NET执行此操作的方法,但我也很好奇您也如何从非托管代码中执行此操作。缺少从头开始完全重新实现对话框的方法,如何修改对话框以具有此行为? 我还想重申一下,我知道FolderBrowserDialog,但有时我不喜欢使用它,除了真正好奇如何以这种方式配置对话框。告诉我只使用FolderBrowserDialog可以帮助我保持一致的UI体验,但不能满足我的好奇心,因此它不会被视为答案。 这也不是Vista特有的;自VS .NET 2003以来,我一直在看到此对话框,因此它在Win2k和WinXP中是可行的。这不是一个“我想知道执行此操作的正确方法”的问题,而更多的是“自从我第一次在VS 2003中开始做以来,我一直对此感到好奇”。我知道Vista的文件对话框可以执行此操作,但是它在XP中一直在运行,因此我知道他们做了一些努力使其能够正常工作。Vista特定的答案不是答案,因为问题上下文中不存在Vista。 更新:我接受Scott Wisniewski的答案,因为它附带了一个有效的示例,但是我认为Serge值得赞扬的是他指出了对话框的自定义功能(虽然.NET 确实很讨厌,但它确实有效),而Mark Ransom则指出了MS可能为此任务滚动了一个自定义对话框。


13
适用于Windows的Objective-C
在Windows平台上编写Objective-C的最佳方法是什么? Cygwin和gcc?有什么方法可以将其集成到Visual Studio中吗? 沿着这些思路,关于如何链接和使用Windows SDK之类的东西,有任何建议。它是另一种野兽,但是我知道我可以在Windows DLL中编写汇编和链接,使我可以访问这些调用,但是我不知道如何在不进行谷歌搜索和获得零碎指导的情况下进行操作。 有没有人知道一个很好的在线或书籍资源来做或解释这些事情?


18
在WPF中将窗口移到最前面
如何将WPF应用程序带到桌面前端?到目前为止,我已经尝试过: SwitchToThisWindow(new WindowInteropHelper(Application.Current.MainWindow).Handle, true); SetWindowPos(new WindowInteropHelper(Application.Current.MainWindow).Handle, IntPtr.Zero, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE); SetForegroundWindow(new WindowInteropHelper(Application.Current.MainWindow).Handle); 没有一个人在做这项工作(Marshal.GetLastWin32Error()就是说这些操作已成功完成,并且每个定义的P / Invoke属性都具有SetLastError=true)。 如果我创建一个新的空白WPF应用程序,并SwitchToThisWindow使用一个计时器调用,它将完全按预期工作,因此我不确定为什么在我的原始情况下它不起作用。 编辑:我正在与全局热键一起执行此操作。
214 c#  .net  wpf  winapi  pinvoke 

11
连接到网络共享时如何提供用户名和密码
当连接到当前用户(在我的情况下,是启用网络的服务用户)没有权限的网络共享时,必须提供名称和密码。 我知道如何使用Win32函数(WNet*来自的家族mpr.dll)来执行此操作,但想使用.Net(2.0)功能来执行此操作。 有哪些选项可用? 也许更多信息可以帮助您: 用例是Windows服务,而不是Asp.Net应用程序。 该服务在没有共享权限的帐户下运行。 共享所需的用户帐户在客户端未知。 客户端和服务器不是同一域的成员。

8
什么是__stdcall?
我正在学习Win32编程,其WinMain原型如下所示: int WINAPI WinMain ( HINSTANCE instance, HINSTANCE prev_instance, PSTR cmd_line, int cmd_show ) 我对这个WINAPI标识符的用途感到困惑,发现: #define WINAPI __stdcall 这是做什么的?我对在返回类型之后根本没有东西感到困惑。是__stdcall为了什么 返回类型和函数名称之间有什么含义?

8
无法在VC2010 Express中打开包含文件'afxres.h'
我正在尝试使用VS express 2010编译旧项目,但出现此错误: 致命错误RC1015:无法打开包含文件'afxres.h'。从此代码 ///////////////////////////////////////////////////////////////////////////// // // Generated from the TEXTINCLUDE 2 resource. // #include "afxres.h" 我已经安装了Windows SDK,但没有成功。 谢谢!


16
Windows线程:_beginthread与_beginthreadex与CreateThread C ++
什么是更好的方式来启动一个线程,_beginthread,_beginthreadx或CreateThread? 我试图确定什么是优势/劣势_beginthread,_beginthreadex和CreateThread。所有这些函数都将线程句柄返回到新创建的线程,我已经知道,当发生错误时(可以通过调用来检查GetLastError),CreateThread提供了一些额外的信息。米使用这些功能? 我正在使用Windows应用程序,因此跨平台兼容性已经成为不可能。 我已经阅读了msdn文档,例如,我什至不明白为什么有人会决定使用_beginthread而不是CreateThread,反之亦然。 干杯! 更新:OK,所有的信息,谢谢,我也看到了在几个地方,我不能打电话WaitForSingleObject(),如果我使用的_beginthread(),但如果我呼吁_endthread()在线程不应该工作?那有什么事
133 c++  c  multithreading  winapi 

11
如何查找本机DLL文件是编译为x64还是x86?
我想确定是否从托管代码应用程序(C#)将本机程序集编译为x64或x86 。 我认为它必须在PE标头中,因为操作系统加载程序需要知道此信息,但我找不到它。当然,我更喜欢在托管代码中执行此操作,但是如果需要,我可以使用本机C ++。
133 c#  .net  winapi  64-bit  x86-64 

5
ImportError:没有名为win32api的模块
我使用Python 2.7,我想使用pywin32-214上Windows 7。我pywin32-214通过使用msi安装程序进行安装。但是,当我导入win32apiPython脚本时,它会引发错误: no module named win32api. 我该怎么办?我可以使用pywin32 api的Windows 7?
126 python  winapi 

8
Windows 8中的Metro应用程序如何与同一台计算机上的后端桌面应用程序通信?
如果您具有使用Windows 8的Metro新应用程序构建的UI前端,并且希望它与运行在同一本地计算机上的桌面上的.NET应用程序(例如Windows服务应用程序)进行通信,则这种情况。 Metro应用程序和桌面应用程序之间可以使用哪些形式的进程间通信? 感谢Visual Studio团队的Pavel Minaev,他在此处的注释中提供了一些初始信息,并引用了: 根据马丁·洛夫(Martyn Lovell)的说法,没有任何故意的机制,有意使用的机制受到有意限制。例如,命名管道不存在,内存映射文件也不存在。有套接字(包括服务器套接字),但是当连接到本地主机时,只能连接到同一应用程序。您可以在共享的“已知文件夹”之一中使用普通文件(“文档”,“图片”等),但这是一个相当粗糙的技巧,需要轮询并且对用户可见。- 帕维尔Minaev评论这个问题 因此,如果无法使用常规方法,我会考虑使用Web服务或对数据库进行读/写操作,以实现某种形式的通信,而当进程在同一台计算机上运行时,这两种方法似乎都显得过分了。 我在这里尝试的是有意义的吗?我可以看到需要将Metro应用程序作为桌面上运行的现有服务的前端UI。或者将WPF用于在桌面上运行的前端UI(即非地铁应用程序)会更好。


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.