1.Windows的休眠和唤醒,怎么进行监听
今天要查找如何获取系统从睡眠、休眠状态下唤醒的消息,写了个MFC对话框的程序,贴出部分核心代码: [cpp] view plain copy print? //唤醒消息捕获 LRESULT ::WindowProc(UINT message, WPARAM wParam, LPARAM lParam) { // TODO: 在此添加专用代码和/或调用基类 if ((message == WM_POWERBROADCAST) && (wParam == PBT_APMRESUMEAUTOMATIC)) { ShowSystemResumedTips();//捕获唤醒消息后的提示操作 } return CDialog::WindowProc(message, wParam, lParam); } //唤醒消息捕获LRESULT ::WindowProc(UINT message, WPARAM wParam, LPARAM lParam){ // TODO: 在此添加专用代码和/或调用基类 if ((message == WM_POWERBROADCAST) && (wParam == PBT_APMRESUMEAUTOMATIC)) { ShowSystemResumedTips();//捕获唤醒消息后的提示操作 } return CDialog::WindowProc(message, wParam, lParam);}唤醒消息捕获参考了:/topics/320261685之前写过一个实现系统关机、重启、睡眠、休眠的实现,一并贴出代码: [cpp] view plain copy print? /* MySystemShutdown 功能:实现系统关机、重启 参数: dwShutDownFlag:EWX_SHUTDOWN 关机 EWX_REBOOT 重启 bForce:强制执行 返回值:成功返回TRUE,否则返回FALSE */ BOOL MySystemShutdown(DWORD dwShutDownFlag = EWX_SHUTDOWN,BOOL bForce = FALSE) { HANDLE hToken; TOKEN_PRIVILEGES tkp; // Get a token for this process. if (!OpenProcessToken(GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY, &hToken)) return( FALSE ); // Get the LUID for the shutdown privilege. LookupPrivilegeValue(NULL, SE_SHUTDOWN_NAME, &tkp.Privileges[0].Luid); tkp.PrivilegeCount = 1; // one privilege to set tkp.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED; // Get the shutdown privilege for this process. AdjustTokenPrivileges(hToken, FALSE, &tkp, 0, (PTOKEN_PRIVILEGES)NULL, 0); if (GetLastError() != ERROR_SUCCESS) return FALSE; if (bForce) { dwShutDownFlag |= EWX_FORCE;//强制终止进程。
当此标志设置,Windows不会发送消息WM_QUERYENDSESSION和WM_ENDSESSION的消息给目前在系统中运行的程序。这可能会导致应用程序丢失数据。
} if (!ExitWindowsEx(dwShutDownFlag, SHTDN_REASON_MAJOR_OPERATINGSYSTEM | SHTDN_REASON_MINOR_UPGRADE | SHTDN_REASON_FLAG_PLANNED)) return FALSE; return TRUE; } /* MySystemSleep 功能:实现系统休眠、睡眠功能 参数: bHibernate:TRUE休眠 FALSE睡眠 返回值:成功返回TRUE,否则返回FALSE */ BOOL MySystemSleep(BOOL bHibernate = TRUE)// { HMODULE hModule = NULL; BOOL bRet = FALSE; // BOOLEAN WINAPI SetSuspendState( // __in BOOLEAN Hibernate, // __in BOOLEAN ForceCritical, // __in BOOLEAN DisableWakeEvent // ); typedef BOOL (WINAPI *PSetSuspendState)(BOOL Hibernate, BOOL ForceCritical, BOOL DisableWakeEvent); hModule = LoadLibrary(_T("PowrProf.dll")); if (hModule) { PSetSuspendState pSetSuspendState = NULL; pSetSuspendState = (PSetSuspendState)::GetProcAddress(hModule,"SetSuspendState");//设置备份文件名函数指针 if(pSetSuspendState != NULL) { bRet = pSetSuspendState(bHibernate,0,0); } FreeLibrary(hModule); } return bRet; }。
2.电脑声音监听
.1声道和7.1声道没有本质的区别,别看多出2个声道的音箱设置,那还是5.1个声道的信息量。
为什么这么讲呢,因为,另外2个声道是从后环绕声道衍生出来的,就是说是模拟的,也就有了6.1声道(增加了一个后中至音箱)、7.1声道(增加了一对左右中至音箱)…。对于空间较小的地方组建家庭影院,5.1足够了。
但如果家庭条件很好,空间较大,则7.1更好些,虽然总的信息量没有变化,但感觉音场的密度增大了,声道之间衔接得更顺畅了,会感觉更舒服一些。虽然杜比数码(AC-3)、TDS我们还未完全享受够,但目前新的DD+(7-13声道)、TDS+(最多可到20多声道,这些都是真正的***声道)正在问世,也将淘汰前者。
图像在不断的向高清晰、大画面发展,声道(音场)在向三维空间扩展,而不仅仅局限于目前的平面设置。仅供参考。
再说简单一点,差别就是7.1的多2音响。100个人里面99个人听不出来,那一个还得是音响师。
3.Windows下如何监听端口
public static void main(String[] args) throws IOException {
ServerSocket server = new ServerSocket(2588);//端口, 你是服务端
while (true) {
Socket socket = server.accept();
final InputStream is = socket.getInputStream();
new Thread(new Runnable() {
public void run() {
byte[] bs = new byte[128];
try {
while (is.read(bs) != -1) {
// 这里的bs就是数据了
System.out.println(Arrays.toString(bs));
}
} catch (IOException e) {
}
}
}).start();
}
}
4.电脑声卡录音如何监听
开始--左右程序--附件--录音机(喇叭图表),打开后,启用录音按钮,可以对着麦克风讲话,进行录音.完成后点击保存即可将录音文件保存到所需要的目录.
对保存的录音文件,可以用windows自带的播放器来播放,也可以用第三方诸如千千静听等软件来播放.
在电脑音频的粉红色接口接入麦克风,在绿色接口接入耳机或音响,电脑桌面右下角音频图表处点击右键,打开音频设置,启用麦克风. 这样就接入了声音的录入和播放设备.蓝色的为音频输入,即将外放的设备音频(比如电视或碟机的)接入该接口后,可以用该电脑的外接音响或耳机来听到外放设备的声音.
转载请注明出处windows之家 » 电脑win10监听怎么设置