给js回答的问题分了个类 http://blog.csdn.net/jiangsheng/archive/2005/09/13/480540.aspx
T 如何用程序控制电源管理设置
Q 我们知道在电源选项 属性 里面可以设置
关闭监视器 1分钟之后,...,从不
关闭硬盘 1分钟之后,...,从不
待机时间 1分钟之后,...,从不
请问这些设置我怎么用程序来实现 比如我现在要把关闭监视器设成 5分钟之后 请问各位大虾,应该怎么办?是不是要调用API?如果是,应该调用什么函数?
另外补充说明:如果是调出控制面板让用户自己设置,这种功能我不需要,我要的是在程序里面自动完成这些操作,不需要用户的介入!
A To update an existing power scheme, call the WritePwrScheme, WriteGlobalPwrPolicy, or WriteProcessorPwrScheme function. Note that changes to the active power scheme do not automatically take effect. You must always call SetActivePwrScheme to update the active power scheme.
自己创建一个新的power scheme (WritePwrScheme)
POWER_POLICY中USER_POWER_POLICY结构
VideoTimeoutAc VideoTimeoutDc是控制Display 的AC和Battery Power
Power Control Panel中的“关闭监视器”是通过 VideoTimeoutAc 来设置的,单位为秒
SpindownTimeoutAc SpindownTimeoutDc控制硬盘
T 当一个USB设备和电脑连接,该USB驱动是系统自动识别的。系统如何能启动一个已经安装的程序呢?
Q 这个有点类似数码相机的处理软件,当数码相机和电脑连接后,系统会自动调用一个以前安装的相机处理程序,这个是怎么作到的呢?
A 把自己的程序加入可移动介质的自动播放列表
http://msdn.microsoft.com/library/en-us/shellcc/platform/shell/programmersguide/shell_basics/shell_basics_extending/autoplay/autoplay2k_cookbook.asp
T 问个简单的VC问题
Q VC中打开文件对话框我想再增加一种类型,怎么修改那个资源字符串IDR_MAINFRAME啊,现内容是
Person\n\nPerson\nPER File(*.per)\n.per\nPerson.Document\nPerson Document
我想加个.txt的
A 横秋的文件对话框教程
http://community.csdn.net/Expert/topic/4208/4208272.xml?temp=.3928339
MFC Document/View documentation and enhancements
http://www.codeproject.com/docview/DocViewEnhancements.asp
HOWTO: How to Support Two File Extensions per MFC Document Type
http://support.microsoft.com/kb/141921/
T 怎样通过SHGetFileInfo取得"桌面"图标?
A SHGetFileInfo
IShellIcon::GetIconOf
http://blog.csdn.net/jiangsheng/archive/2003/11/20/3796.aspx
ITEMIDLIST* pidlDeskTop;
if( S_OK != SHGetSpecialFolderLocation( NULL, CSIDL_DESKTOP, &pidlDeskTop ) )
{
return FALSE;
}
SHFILEINFOW fi = { 0 };
if( SHGetFileInfoW( ( WCHAR* )pidlDeskTop, 0U, &fi, sizeof( SHFILEINFOW ), SHGFI_PIDL | SHGFI_SYSICONINDEX ) != 0 )
{
// fi.iIcon 就是桌面图标在 SYSTEM IMAGE LIST 中的序号
}
IMalloc* pMalloc;
if( SUCCEEDED( SHGetMalloc( &pMalloc ) ) )
{
pMalloc->Free( pidlDeskTop );
pMalloc->Release( );
}
T 请问在一个线程中创建的CWnd指针能在另一个线程中使用吗?
Q 我在Thread1中建立了一个CEdit对象:
class MyClass
{
static CEdit wndEdit;
}
然后在Thread2中使用他:
UINT MyThread2(LPVOID lp)
{
MyClass::wndEdit.GetWindowText();
}
居然成功了!
但是书上说,一个线程不能使用另一个线程的CWnd,只能使用hwnd然后Attach(),
这是怎么回事?到底一个线程能不能使用另一个线程的窗口指针
A 如果只使用其数据成员m_hWnd的话是没问题啦,但是使用其它的函数,例如GetParentFrame就可能出问题。参考http://blog.csdn.net/jiangsheng/archive/2004/01/05/3797.aspx
蒋老大贴了自己的BLOG文章啊?
那我也贴上我自己的。
http://blog.csdn.net/loveghb/archive/2005/06/21/399784.aspx
其实都是一个意思。楼主你自己看吧。
T 请教高手:使用AfxBeginThread()创建线程,在线程结束时能使用CloseHandle()关闭该线程的句柄对象吗?
Q 程序示例代码如下:
CWinThread* pThread = NULL;
开启线程函数
pThread = AfxBeginThread();
结束线程函数
WaitForSingleObject( pThread->m_hThread, INFINITE );
CloseHandle( pThread->m_hThread ); //在调试状态下执行到这一句给出了提示信息:first chance execption in NTDLL : Invalid Handle
小弟不知这是什么原因,望高手指点迷津。
再请教一个问题,就是怎样释放 pThread ,每次创建线程它都指向一个新的线程对象,而它是全局变量,这样只到程序退出前它所指向的线程对象都不会释放,而我想在一个线程结束后就能释放该线程对象,不想让 pThread 在原先的线程对象还没释放时就又指向一个新的线程对象。
谢谢了!!!
A http://msdn.microsoft.com/library/en-us/vccore/html/_core_Multithreading.3a_.Terminating_Threads.asp
看你是否将pThread->m_bAutoDelete置为了true.
如果置为了true,那么需要自己
CloseHandle(pThread->m_hThread);
delete pThread;
如果没有,那么pThread会自己销毁,并且在析构函数中CloseHandle的。
T 关于随机数的问题``
Q srand((unsigned)time(NULL)+100000);
经常会生成相同的数,即生成的随机数序列里,常会出现几个相同的在一起,怎样才能生成更随机化的序列?
A srand((unsigned)time(NULL)+100000);
The time function returns the number of seconds elapsed since midnight
也就是说,在同一秒内连续两次调用time这个函数的话会得到同样的结果。
用gettickcount可以获得毫秒级别的时间
T 哪位大侠有关于智能指针的资料
Q 我刚学VC+ADO,却遇到“智能指针”这个难题。而在MSDN 2001 oct版中却查不到_ConnectionPtr、_CommandPtr、_RecordsetPtr 这些资料。所以请问有哪位大侠知道智能指针的资料,请告诉我一下,我不胜感激。谢了!!!
A Sample: ADOVC1 Simple ADO/VC++ Application
http://support.microsoft.com/kb/220152/
T 怎样清空History历史记录文件夹下的数据?
Q 例如路径“C:\Documents and Settings\Admin\Local Settings\History”
由于里面不是文件,所以无法用kill命令删除,请问如何用代码清除。。(以前的帖子我搜索了一下,好像没有解决的,所以不要简单粘贴以前链接,谢谢)
A 利用Windows函数实现对IE的History列表的读取和删除其中的某些项:
http://www.applevb.com/sourcecode/delete%20history.zip
http://blogs.msdn.com/jeffdav/archive/2005/01/12/351616.aspx
T 请问ASF文件头的字节数是几多??
Q 能提供它的数据结构更好?
A 变长。最大64K字节。参考
http://www.microsoft.com/china/msdn/archives/library/dnwmt/html/AddingWindowsMediaSupportwiththeWindowsMediaFormat.asp
T 多线程调度
Q 有n多的url 用一定数量的thread依照次序下载 比如5个 先下前5个 一个线程下载结束后 接着下载下面的 这样循环利用5个thread
可以这样做吗?如果可以如何做(最好有代码参考)?如果不可以 怎么做?
A Check my reply to an old post "继续多线程问题--我使用CEvent进行多线称同步!"
http://61.186.252.131/Expert/topic/249/249613.xml
T 如何直接从Cobject类中派生新类!
Q 我在按照一本参考书说的做一个图形类的应用程序,上面需要建立一个新类,新类要以CObject类为父类,但我在Class Wizard 选择基类的列表框中却找不到CObject,请高手不吝赐教!
A When you want to create a new class with classwizard, and you want to derive a class not listed in MFC or ATL class list, use the "generic class" option and type the name of you class. If you're lucky, the right headers will be added, otherwise add them yourself
T 关于类似CHM文件的适用于IE的自定义协议的开发
Q 许多软件如chm的帮助可设计自己的协议供ie控件访问本程序提供的页面,如mk:@msitstore:i:\,请哪位提供一些这方面的参考资料(包括msdn中的大致位置)
我觉得用这种方式有很多用途,比如在程序中自带帮助信息就比较方便
A http://msdn.microsoft.com/workshop/networking/pluggable/pluggable.asp
T 在vb中能否通过向其他程序控件发送WM_GETCONTROLNAME消息得到这个控件的name
Q 主要想实现在vb里区分其他程序窗体里同级、同标题、同类的控件。。。。。。。用其他方法都似乎不太保险
A WM_GETCONTROLNAME仅用于获得本进程内的Winform控件名称。对于其他应用程序,可以尝试获得窗口类信息。
参考 http://msdn.microsoft.com/library/en-us/dnwinforms/html/autowforms.asp#autowforms_topic5
T 请教:用VC6将DSP文件导出makefile文件,可以用 cmd命令行来实现吗?。
A 写一个导出mak的宏,然后调用msdev -ex MacroName
T 如何快速的删除NNN多的小文件?
Q 由于项目需要会生成许多许多(上百万个8k左右大小的文件),在删除文件的时候遇到了问题,删的特别特别的慢,目前是使用DOS模式命令删除(因为在windows下删的更慢)。 是否有好的办法?谢了
A BOOL MoveFileEx(LPCTSTR lpExistingFileName, LPCTSTR lpNewFileName, DWORD dwFlags);
T VC下如何进行UNICODE和ANSI字符串的转换~转换函数的用法~还有比较两个字符串大小的函数和用法
A It is very handy to include atlconv.h and use the T2OLE and OLE2T macros with USES_CONVERSION;, but you can still call WideCharToMultiByte and MultiByteToWideChar directly.