草庐IT

java - 如何检测哪个程序在 Windows 7 上播放声音?

我正在尝试编写一个小的后台程序,在另一个程序播放声音时停止播放Winamp的音乐。关于通过Java访问Winamp的部分已经解决了,现在我需要一种方法来检测哪个程序播放当前播放的声音(可能我想让一些程序在不停止我的音乐的情况下播放它们的声音)。尽管我是在Java(+winapi)中这样做的,但任何语言的一切都会有所帮助。[编辑]因为我刚刚对我的第一个问题进行了第一次反对,这里有一些更详细的信息:我已经弄清楚了如何使用winapi(但我不知道)并捕获诸如音量级别之类的东西。仍然有问题的是所提到的检测所播放声音的来源以及播放声音的程序。winapi中有什么可以帮助我做到这一点吗?[/edi

java - 如何检查文件是否可读?

我正在编写Java6应用程序,我必须检查文件是否可读。但是,在Windows上,canRead()始终返回true。所以我认为,唯一的解决方案可能是一些基于WINAPI并用JNA/JNI编写的native解决方案。但是,还有另一个问题,因为很难在WINAPI中找到一个简单的函数来返回有关文件访问的信息。我找到了GetNamedSecurityInfo或GetSecurityInfo但我不是高级WINAPI程序员,它们对我来说与JNA/JNI相关太复杂了。任何想法如何处理这个问题? 最佳答案 Java7引入了Files.isReada

java - 使用 JNA 启动/停止服务

我正在编写一个实用程序来启动和停止Windows服务。该程序将分布在许多具有不同用户权限级别的计算机上,因此我不想使用命令行。我试过使用JNA,importcom.sun.jna.platform.win32.W32Service;importcom.sun.jna.platform.win32.W32ServiceManager;importcom.sun.jna.platform.win32.Winsvc;/****@author*/publicclassWindowsServices{/***@paramargsthecommandlinearguments*/publicsta

java - 使用 64 位 Java SDK 和 64 位 Windows 在 C# 中运行用于 JavaAccessability 的示例 Java 应用程序

我有一个示例Java应用程序,它是我在下载javaaccessablity-2.0.2时获得的,它使用了Java辅助功能(通过JavaAccessBridgeWindowsAccessBridge-32.dll).尽管它成功调用了getAccessibleContextFromHWND,但它返回了false。请注意,我通过Inspect工具验证了hWnd的正确值。我的windows64位系统中安装了64位JavaSDK。以下是我试过的代码。我也尝试过使用WindowsAccessBridge-64.dll,但它给出了相同的行为,即vmID和_acParent返回为零值而不是非零值。cl

java - 如何在java中使用winapi函数?

我正在用java做一个项目,它有在数据库中添加文件的功能,我想使用winapi函数来选择文件。我该怎么做? 最佳答案 到目前为止,最简单的方法是使用JavaJNA,它已经有来自stcalls的翻译。您可以在JavaWorld上找到它的基础教程(同样以Winapi为例).您也可以使用JNI,但JNI要求您使用专门构建的头文件进行接口(interface)连接,而且总的来说更难维护和使用。不过在某些情况下它会稍微快一些。 关于java-如何在java中使用winapi函数?,我们在Stack

Java内存映射文件?

Java中的内存映射文件是否类似于Windows中的内存映射文件?还是只是基于Java中内存和文件常用操作的仿真? 最佳答案 它使用操作系统对内存映射文件的支持。我正在尝试寻找文档来支持这一点,但我还没有找到任何定论。然而,文档的各个部分确实是这样说的:Manyofthedetailsofmemory-mappedfilesareinherentlydependentupontheunderlyingoperatingsystemandarethereforeunspecified.Thebehaviorofthismethodwh

java - JFrame.setExtendedState(MAXIMIZED_BOTH) 是否适用于未修饰的框架?

以下Swing代码在我的机器或我同事的机器(所有WindowsXP和Java6)上不能正常工作:publicclassTest{publicstaticvoidmain(String[]args){finalJFrameframe=newJFrame();frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);frame.setSize(800,600);frame.setLayout(newFlowLayout());frame.add(newJButton(newAbstractAction("Maximize"){@Overrid

java - 如何移动(或使用)鼠标

如何使用Java和JNA(Javanative访问)与WindowsAPI交互?。我试图通过在鼠标输入流上排队鼠标事件来让鼠标做某事,并且代码有效,因为SendInput(...)方法返回1表明它已成功将事件排队,但鼠标本身什么也不做。我的SSCCE:编辑:编辑以填充dwFlags字段。我已经尝试了几种常量组合,无论是单独组合还是位组合,但仍然没有成功。同样,SendInput方法返回1,因为它应该建议一个有效的方法,但鼠标没有移动:importcom.sun.jna.Native;importcom.sun.jna.platform.win32.WinDef.*;importcom.

从设备手柄(Winapi)获取当前的剪辑路径

我正在寻找一种解决方案,如何通过使用Winapi调用来从设备手柄(HDC)(HDC)提取当前的剪辑路径(HDC)(移至,行移至,Bezier曲线)。例如,Winapi允许使用使用和XOR和DIFF逻辑运算符创建复杂的剪辑路径,并且可以以不同的方式使用。例如,下面的代码将创建三个圆圈,并将其与一些逻辑合并(Mode1和Mode2):voidclippingTest(HDCdc,intx,inty,std::wstringconst&text,intmode1,intmode2){SaveDC(dc);HBRUSHredBrush=CreateSolidBrush(RGB(255,0,0));HB

可靠地知道Winapi是否可以消除卷

我正在使用DeviceIoControl(dev,IOCTL_DISK_GET_DRIVE_GEOMETRY,NULL,0,&driveInfo,sizeof(driveInfo),&dwResult,NULL)检查是否driveInfo.MediaType是RemovableMedia或者FixedMedia,但看来我的所有卷都被“看到”为固定:\\.\C:NTFSFixed,thisisok-internalharddrive\\.\D:NTFSFixed,thisisok-internalharddrive\\.\E:NTFSFixed,thisisok-internalharddriv