C#,我想做一个保护程序。

,我这里可以读电脑cpu的ID和硬盘ID,通过这两个ID生成一个验证码,类似于注册机,当别人想操作我的软件,首先要输入验证码,验证cpu和硬盘是否正确,验证完成才能操作,应该怎么做,这种程序叫什么?

这种东西叫病毒,或者流氓软件。
你总没法阻止别人打开任务管理器杀死你的进程吧

思路清晰就去做吧
就像cad这类的需要花钱注册的软件

获取机器码很好获
用特定的算法计算出注册码
这个算法可以用现成的也可以用自己设计的
代码里一验证机器码和注册码就完事
你用C#干呗 资料有的是