系统接口的使用 在win7下调用系统的麦克风功能,可能会用到系统的IDirectSoundCapture接口,怎么用啊 MSDN的链接地址是http://msdn.microsoft.com/en-us/library/ms897901.aspxguid 也知道 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 给你一段通过COM操纵Win7任务栏按钮进度的代码,希望有帮助。 public static class Windows7 { static ITaskbarList3 TaskbarList3; static bool _isWin7; static Windows7() { OperatingSystem os = Environment.OSVersion; _isWin7 = os.Platform == PlatformID.Win32NT && os.Version.Major >= 6 && os.Version.Minor >= 1; if (_isWin7) { TaskbarList3 = (ITaskbarList3)(new CTaskbarList()); } } public static void SetTaskbarProgressValue(IntPtr hWnd, ulong current, ulong max) { if (_isWin7) { TaskbarList3.SetProgressState(hWnd, TaskbarProgresState.Normal); TaskbarList3.SetProgressValue(hWnd, current, max); } } public static void SetTaskbarProgressState(IntPtr hWnd, TaskbarProgresState state) { if (_isWin7) TaskbarList3.SetProgressState(hWnd, state); } public static bool IsWindows7OrLater { get { return _isWin7; } } public enum TaskbarProgresState { None = 0, Indeterminate = 0x1, Normal = 0x2, Error = 0x4, Paused = 0x8 } #region COM types [ComImportAttribute()] [GuidAttribute("ea1afb91-9e28-4b86-90e9-9e9f8a5eefaf")] [InterfaceTypeAttribute(ComInterfaceType.InterfaceIsIUnknown)] internal interface ITaskbarList3 { // ITaskbarList [PreserveSig] void HrInit(); [PreserveSig] void AddTab(IntPtr hwnd); [PreserveSig] void DeleteTab(IntPtr hwnd); [PreserveSig] void ActivateTab(IntPtr hwnd); [PreserveSig] void SetActiveAlt(IntPtr hwnd); // ITaskbarList2 [PreserveSig] void MarkFullscreenWindow( IntPtr hwnd, [MarshalAs(UnmanagedType.Bool)] bool fFullscreen); // ITaskbarList3 void SetProgressValue(IntPtr hwnd, UInt64 ullCompleted, UInt64 ullTotal); void SetProgressState(IntPtr hwnd, TaskbarProgresState tbpFlags); } [GuidAttribute("56FDF344-FD6D-11d0-958A-006097C9A090")] [ClassInterfaceAttribute(ClassInterfaceType.None)] [ComImportAttribute()] internal class CTaskbarList { } #endregion } IDirectSoundCapture是wince的 不是win7的。 你可以直接使用或者参考naudio 开源项目http://naudio.codeplex.com/ 或者参考这个帖子http://topic.csdn.net/t/20040123/01/2679333.html C# 通过站点名,得到应用程序池名 当按下alt键时 menuStrip控件总是响应,如何使menuStrip控件不响应alt键 C# 自定义button请教 在代碼裡,改變空間的背景色 超大的二维数组(编译无法通过),有何替代办法。在线等 c#上传问题,急!在线等待 水晶报表9.2在win98下的打印问题 救命啊,怎样实现:WinForm不出现滚动条 初级问题 C# 上位机总控程序与MES、ERP通信接口怎么写? 日期比较问题,麻烦得很啊 用.net但不用服务器控件怎么写啊
public static class Windows7
{
static ITaskbarList3 TaskbarList3;
static bool _isWin7; static Windows7()
{
OperatingSystem os = Environment.OSVersion; _isWin7 = os.Platform == PlatformID.Win32NT && os.Version.Major >= 6 && os.Version.Minor >= 1; if (_isWin7)
{
TaskbarList3 = (ITaskbarList3)(new CTaskbarList());
}
} public static void SetTaskbarProgressValue(IntPtr hWnd, ulong current, ulong max)
{
if (_isWin7)
{
TaskbarList3.SetProgressState(hWnd, TaskbarProgresState.Normal);
TaskbarList3.SetProgressValue(hWnd, current, max);
}
} public static void SetTaskbarProgressState(IntPtr hWnd, TaskbarProgresState state)
{
if (_isWin7)
TaskbarList3.SetProgressState(hWnd, state);
} public static bool IsWindows7OrLater
{
get { return _isWin7; }
} public enum TaskbarProgresState
{
None = 0,
Indeterminate = 0x1,
Normal = 0x2,
Error = 0x4,
Paused = 0x8
}
#region COM types [ComImportAttribute()]
[GuidAttribute("ea1afb91-9e28-4b86-90e9-9e9f8a5eefaf")]
[InterfaceTypeAttribute(ComInterfaceType.InterfaceIsIUnknown)]
internal interface ITaskbarList3
{
// ITaskbarList
[PreserveSig]
void HrInit();
[PreserveSig]
void AddTab(IntPtr hwnd);
[PreserveSig]
void DeleteTab(IntPtr hwnd);
[PreserveSig]
void ActivateTab(IntPtr hwnd);
[PreserveSig]
void SetActiveAlt(IntPtr hwnd); // ITaskbarList2
[PreserveSig]
void MarkFullscreenWindow(
IntPtr hwnd,
[MarshalAs(UnmanagedType.Bool)] bool fFullscreen); // ITaskbarList3
void SetProgressValue(IntPtr hwnd, UInt64 ullCompleted, UInt64 ullTotal);
void SetProgressState(IntPtr hwnd, TaskbarProgresState tbpFlags); } [GuidAttribute("56FDF344-FD6D-11d0-958A-006097C9A090")]
[ClassInterfaceAttribute(ClassInterfaceType.None)]
[ComImportAttribute()]
internal class CTaskbarList { }
#endregion
}