Translate

2014年2月11日星期二

blogger代码高亮

可以参考这2个帖子

http://wujblog.blogspot.com/2011/12/blogger.html

http://heisencoder.net/2009/01/adding-syntax-highlighting-to-blogger.html


2014年2月10日星期一

一段挂起进程中所有线程的代码

今天看书核心编程看到第7章,中的一段代码很有意思,win7下对记事本进程进行测试,可以挂起,挺有意思的
  
//windows核心编程 第5版中的一段代码
/*
函数功能:挂起进程中的所有线程
参数1:进程ID
参数2:若为TRUE时对进程中的所有线程调用SuspendThread,挂起线程
      若为FALSE时对进程中的所有线程调用ResumeThread,恢复线程
*/
VOID SuspendProcess(DWORD dwProcessID, BOOL fSuspend)
{
 HANDLE hSnapshot = CreateToolhelp32Snapshot(
  TH32CS_SNAPTHREAD, dwProcessID);

 if (hSnapshot != INVALID_HANDLE_VALUE) {

  THREADENTRY32 te = {sizeof(te)};
  BOOL fOk = Thread32First(hSnapshot, &te);
  for (; fOk; fOk = Thread32Next(hSnapshot, &te)){
   if (te.th32OwnerProcessID == dwProcessID) {
    HANDLE hThread = OpenThread(THREAD_SUSPEND_RESUME,
     FALSE, te.th32ThreadID);

    if (hThread != NULL) {
     if (fSuspend)
      SuspendThread(hThread);
     else
      ResumeThread(hThread);
    }
    CloseHandle(hThread);
   }
  }
  CloseHandle(hSnapshot);
 }
}

反驳–(知乎)大龄门外汉如何进入软件开发行业?的回复

http://www.zhihu.com/question/22627587/answer/22056291
他们说的都不对,因为他们都是合格的程序员,且大部分功力实。
 作为一个外行
 技术树可以这样发展
 最开始学前端(也就是网页开发),作为很多序员一开始推荐c或者JAVA这个是不对的,原因:一个是学习那些高级语言很需要功力,另外一个非常枯燥或者说不实用。学习HTML CSS js这些一方面入门简单,一方面很实用。最起码能写油猴的脚本。中级的话能帮单位写网站。nb的话就可以自己接活了。
 如果你一年能做到写个网站或者按照要求改模版网站很熟练了,证明你对编程是有天赋的。可以进阶下一步,如果这些都掌握不了,就打断转程序员的念头。
 中级,学点perl或者python,能用他们写点小程序或者写点系统管理的脚本。前者下一步的科技树是程序员,后者可以做系统运维
 高级,c,c++ 或者JAVA这些都是需要一辈子填的大坑。



错了错了,先学C后学web,先学web再学C,或学C后再学C++,学习周期都不会变短,最多入门时第一本书看得快点,任何一门语言没有至少几年的开发经验谈不上熟悉。先学了web或c/c++或java,深入下去多好,只学了皮毛就转行了,大概又得从0开始。

 还有无论是web还是软件开发怎么能局限在语言里,不去接触系统理论、网络理论等神马的?

 常见对白我学C(或C++)一年了,一直在看书,请问能开发出程序吗,能啊,helloworld。这也叫程序,这是控制台,.,,,,