今天安装 Team Foundation Server。

在安装结果信息中有点以为的收获:
信息
启动 Windows 服务时允许花费的时间已从 30 秒增加为 600 秒。这会影响此服务器上的所有 Windows 服务。(注册表值设置是 HKLM\SYSTEM\CurrentControlSet\Control\!ServicesPipeTimeout。)
通过设置此注册表键值,调整加载服务所允许使用的时间。
希望世间永无欺骗
今天安装 Team Foundation Server。

在安装结果信息中有点以为的收获:
信息
启动 Windows 服务时允许花费的时间已从 30 秒增加为 600 秒。这会影响此服务器上的所有 Windows 服务。(注册表值设置是 HKLM\SYSTEM\CurrentControlSet\Control\!ServicesPipeTimeout。)
通过设置此注册表键值,调整加载服务所允许使用的时间。
一段VB脚本,将“显示隐藏系统文件”加入到右键,如图。

Dim WSHShell
Set WSHShell = WScript.CreateObject("WScript.Shell")
WSHShell.RegWrite "HKCR\CLSID\{00000000-0000-0000-0000-000000000012}\Instance\InitPropertyBag\CLSID", "{13709620-C279-11CE-A49E-444553540000}", "REG_SZ"
WSHShell.RegWrite "HKCR\CLSID\{00000000-0000-0000-0000-000000000012}\Instance\InitPropertyBag\method", "ShellExecute", "REG_SZ"
if WSHShell.RegRead("HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced\HideFileExt") = 0 then
WSHShell.RegWrite "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced\ShowSuperHidden", "0", "REG_DWORD"
WSHShell.RegWrite "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Hidden", "2", "REG_DWORD"
WSHShell.RegWrite "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced\HideFileExt", "1", "REG_DWORD"
WSHShell.RegWrite "HKCR\CLSID\{00000000-0000-0000-0000-000000000012}\Instance\InitPropertyBag\command", "显示扩展名及文件", "REG_SZ"
WSHShell.SendKeys "{F5}+{F10}e"
else
WSHShell.RegWrite "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced\ShowSuperHidden", "1", "REG_DWORD"
WSHShell.RegWrite "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Hidden", "1", "REG_DWORD"
WSHShell.RegWrite "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced\HideFileExt", "0", "REG_DWORD"
WSHShell.RegWrite "HKCR\CLSID\{00000000-0000-0000-0000-000000000012}\Instance\InitPropertyBag\command", "隐藏扩展名及文件", "REG_SZ"
WSHShell.SendKeys "{F5}+{F10}e"
end if
Set WSHShell = Nothing
WScript.Quit(0)
存档一个今天用到的sql, 可以用来查询表中, 字段, 数据类型的sql.
SELECT OBJECT_NAME(c.id) AS 表名, c.name AS 字段名, t.name AS 数据类型,
c.prec AS 长度
FROM syscolumns c INNER JOIN
systypes t ON c.xusertype = t.xusertype
WHERE (objectproperty(c.id, 'IsUserTable') = 1) AND
(c.id = OBJECT_ID('你的表名'))
如果要查视图的话, 要修改一下where条件, 把where的objectproperty放到上面增加一个case判断, AS 出类型
SELECT CASE WHEN (OBJECTPROPERTY(c.id, 'IsUserTable') = 1) THEN 'Table' WHEN (OBJECTPROPERTY(c.id, 'IsView') = 1) THEN 'View' END AS 类型, OBJECT_NAME(c.id)
AS 表名, c.name AS 字段名, t.name AS 数据类型, c.prec AS 长度
FROM sys.syscolumns AS c INNER JOIN
sys.systypes AS t ON c.xusertype = t.xusertype
WHERE (c.id = OBJECT_ID('View_1'))
(OBJECTPROPERTY(c.id, ‘IsUserTable’) = 1) 是表, (OBJECTPROPERTY(c.id, ‘IsView’) = 1) 是视图
关于 OBJECTPROPERTY 的详细用法和参数, 请查看: http://technet.microsoft.com/zh-cn/library/ms176105(v=sql.90).aspx

命名空间:System.Threading 程序集:mscorlib(在 mscorlib.dll 中)
C#支持通过多线程并行地执行代码,一个线程有它独立的执行路径,能够与其它的线程同时地运行。一个C#程序开始于一个单线程,这个单线程是被CLR和操作系统(也称为“主线程”)自动创建的,并具有多线程创建额外的线程。
1.使用线程的情况
2.多线程的并发执行 如果有多个线程在执行,单CPU只有一个,到底执行的哪个?
3.创建并启动线程
ThreadStart 线程启动委托名=new ThreadStart(方法名);
Thread 线程实例名=new Thread(线程启动委托名); 线程实例名.Start();
4.终止线程
5.休眠线程
6.挂起/恢复线程
7.串行化线程
8.线程的锁定机制 线程的锁定机制可以保证每次只有一个线程可以访问共享资源。 使用关键字lock
9.线程的优先级具有不可靠性,就是说不能用优先级来控制线程的执行顺序。
10.后台线程
Control.CheckForIllegalCrossThreadCalls = False;
要使用MethodInvoker委派,需要三个条件:
Thread thread=new Thread(new ThreadStart(Run)); thread.IsBackground=true; //把Thread设为后台线程 thread.Start();
public void Run()
{
int count = 0;
try
{
MethodInvoker mi = new MethodInvoker(this.UpdateLabel);
//创建一个委托,UpdateLabel是该委托所托管的代码,必须是声明为void 且不接受任何参数的任何方法。
while (true)
{
count++;
//this.Invoke(mi);//同步执行委托
this.BeginInvoke(mi);//异步执行委托
Thread.Sleep(500);
}
}
catch (ThreadInterruptedException e)
{
Console.WriteLine("Interruption Exception in Thread:{0}", e);
}
catch (Exception ex)
{
Console.WriteLine("Exception in Thread:{0}", ex);
}
}
public void UpdateLabel()
{
label1.Text=count.ToString();
}
2012年2月6日作者:enet
若要确定应用程序是否为控制台或 GUI,您必须分析该 EXEheader。标头包含一个称为子系统的字段。此字段确定是要在其下运行的应用程序子系统和它需要的接口的类型。值组成:
IMAGE_SUBSYSTEM_NATIVE 1
IMAGE_SUBSYSTEM_WINDOWS_GUI 2
IMAGE_SUBSYSTEM_WINDOWS_CUI 3
IMAGE_SUBSYSTEM_OS2_CUI 5
IMAGE_SUBSYSTEM_POSIX_CUI 7
IMAGE_SUBSYSTEM_NATIVE_WINDOWS 8
IMAGE_SUBSYSTEM_WINDOWS_CE_GUI 9
示例代码
#include <windows.h>
#include <winnt.h>
VOID main(int, char **);
DWORD AbsoluteSeek(HANDLE, DWORD);
VOID ReadBytes(HANDLE, LPVOID, DWORD);
VOID WriteBytes(HANDLE, LPVOID, DWORD);
VOID CopySection(HANDLE, HANDLE, DWORD);
#define XFER_BUFFER_SIZE 2048
VOID
main(int argc, char *argv[])
{
HANDLE hImage;
DWORD bytes;
DWORD iSection;
DWORD SectionOffset;
DWORD CoffHeaderOffset;
DWORD MoreDosHeader[16];
ULONG ntSignature;
IMAGE_DOS_HEADER image_dos_header;
IMAGE_FILE_HEADER image_file_header;
IMAGE_OPTIONAL_HEADER image_optional_header;
IMAGE_SECTION_HEADER image_section_header;
if (argc != 2)
{
printf("USAGE: %s program_file_name\n", argv[1]);
exit(1);
}
/*
* Open the reference file.
*/
hImage = CreateFile(argv[1],
GENERIC_READ,
FILE_SHARE_READ,
NULL,
OPEN_EXISTING,
FILE_ATTRIBUTE_NORMAL,
NULL);
if (INVALID_HANDLE_VALUE == hImage)
{
printf("Could not open %s, error %lu\n", argv[1], GetLastError());
exit(1);
}
/*
* Read the MS-DOS image header.
*/
ReadBytes(hImage,
&image_dos_header,
sizeof(IMAGE_DOS_HEADER));
if (IMAGE_DOS_SIGNATURE != image_dos_header.e_magic)
{
printf("Sorry, I do not understand this file.\n");
exit(1);
}
/*
* Read more MS-DOS header. */
ReadBytes(hImage,
MoreDosHeader,
sizeof(MoreDosHeader));
/*
* Get actual COFF header.
*/
CoffHeaderOffset = AbsoluteSeek(hImage, image_dos_header.e_lfanew) +
sizeof(ULONG);
ReadBytes (hImage, &ntSignature, sizeof(ULONG));
if (IMAGE_NT_SIGNATURE != ntSignature)
{
printf("Missing NT signature. Unknown file type.\n");
exit(1);
}
SectionOffset = CoffHeaderOffset + IMAGE_SIZEOF_FILE_HEADER +
IMAGE_SIZEOF_NT_OPTIONAL_HEADER;
ReadBytes(hImage,
&image_file_header,
IMAGE_SIZEOF_FILE_HEADER);
/*
* Read optional header.
*/
ReadBytes(hImage,
&image_optional_header,
IMAGE_SIZEOF_NT_OPTIONAL_HEADER);
switch (image_optional_header.Subsystem)
{
case IMAGE_SUBSYSTEM_UNKNOWN:
printf("Type is unknown.\n");
break;
case IMAGE_SUBSYSTEM_NATIVE:
printf("Type is native.\n");
break;
case IMAGE_SUBSYSTEM_WINDOWS_GUI:
printf("Type is Windows GUI.\n");
break;
case IMAGE_SUBSYSTEM_WINDOWS_CUI:
printf("Type is Windows CUI.\n");
break;
case IMAGE_SUBSYSTEM_OS2_CUI:
printf("Type is OS/2 CUI.\n");
break;
case IMAGE_SUBSYSTEM_POSIX_CUI:
printf("Type is POSIX CUI.\n");
break;
case IMAGE_SUBSYSTEM_NATIVE_WINDOWS:
printf("Type is native Win9x driver.\n");
break;
case IMAGE_SUBSYSTEM_WINDOWS_CE_GUI:
printf("Type is Windows CE.\n");
break;
default:
printf("Unknown type %u.\n", image_optional_header.Subsystem);
break;
}
}
DWORD
AbsoluteSeek(HANDLE hFile,
DWORD offset)
{
DWORD newOffset;
if ((newOffset = SetFilePointer(hFile,
offset,
NULL,
FILE_BEGIN)) == 0xFFFFFFFF)
{
printf("SetFilePointer failed, error %lu.\n", GetLastError());
exit(1);
}
return newOffset;
}
VOID
ReadBytes(HANDLE hFile,
LPVOID buffer,
DWORD size)
{
DWORD bytes;
if (!ReadFile(hFile,
buffer,
size,
&bytes,
NULL))
{
printf("ReadFile failed, error %lu.\n", GetLastError());
exit(1);
}
else if (size != bytes)
{
printf("Read the wrong number of bytes, expected %lu, got %lu.\n",
size, bytes);
exit(1);
}
}
2012年2月6日作者:enet
@echo off
color 3f
title 右键MS-DOS设置
:menu
cls
echo.
echo [1] 添加右键打开MS-DOS
echo [2] 删除右键打开MS-DOS
echo [0] 退出
set /p choice= 请选择(1;2;0):
if “%choice%”==”1″ goto add
if “%choice%”==”2″ goto remove
if “%choice%”==”0″ goto end
goto menu
:add
reg add “HKCR\*\shell\MS-DOS” /ve /d MS-DOS /f >nul 2>nul
reg add “HKCR\*\shell\MS-DOS\command” /ve /d “cmd.exe” /f >nul 2>nul
reg add “HKCR\Folder\shell\MS-DOS” /ve /d MS-DOS /f >nul 2>nul
reg add “HKCR\Folder\shell\MS-DOS\command” /ve /d “cmd.exe /k cd %%1″ /f >nul 2>nul
cls
echo 操作成功,按任意键返回……
pause>nul
goto menu
:remove
reg delete “HKCR\*\shell\MS-DOS” /f >nul 2>nul
reg delete “HKCR\Folder\shell\MS-DOS” /f >nul 2>nul
cls
echo 操作成功,按任意键返回……
pause>nul
goto menu
:end
cls
echo —————————————————–
echo 操作完毕,谢谢您的使用!
echo.
echo.
echo 按任意键退出…
echo —————————————————–
pause>nul
拷贝到文本文件。 后缀名为bat,执行即可。
2011年11月10日作者:enet
看到 Cheat Engine 6.1 作者为CE添加了多语言文件. 下载了 zh_CN.zip, 解压把 zh_CN 文件夹直接放到了 languages下. 打开发现依然是E文的.
接着尝试直接把 cheatengine-x86_64.po 和 lclstrconsts.po 放到 languages 下, 覆盖原文件. 再打开CE仍然是E文的.
最后发现在 languages 目录下 创建 Ch_Ch 文件夹,把文件 cheatengine-x86_64.po 和 lclstrconsts.po 复制到 Ch_Ch 目录下即可。
所以应该直接解压后, 拷贝 zh_CN 文件夹放到了 languages 下, 然后改成 Ch_Ch 就行了.
P.S. 还有就是CE的文件夹路径里, 不要有中文路径.
2011年10月29日作者:enet
[文章配图文件损坏]
我的两台机器都是Windows 7 旗舰版 , 最近发现一个问题。
A PC登录另一台 B PC的远程登录, 总是提示“凭据不工作”。但是密码帐号肯定正确。 但B登录A却没有问题。
开始很疑惑, 修改了很久设置,结果还是一样
后来在微软问答: http://answers.microsoft.com/ 找到了答案
就是要换成 控制面板–>用户账户 中的那个用户名, 就可以了
http://answers.microsoft.com/zh-hans/windows/forum/windows_7-security/win-7/61147f4b-367f-4d29-b350-8c84d09dc542?page=1
win7下的两种方法:
1. 可以查看 控制面板-用户账户,原因是用户名称和显示的名称不是一样的。(比如显示的Administrator可登录用户名却是Mr-Lee)
打开“配置高级用户配置文件属性”可以看到
2. 查看要登录的win7系统的 C:\Users 文件夹,使用文件夹中的对应的那个用户名称.。原因同上。
可以查看 控制面板-用户账户,原来是两台机器的用户名称和显示的Administrator不是一样的。
打开“配置高级用户配置文件属性”可以看到


最简单的方法就是直接打开系统盘下的 “用户”文件夹查看
C:\Users\Mr.Tang
C:\Users\Administrator
http://answers.microsoft.com/zh-hans/windows/forum/windows_7-security/win-7/61147f4b-367f-4d29-b350-8c84d09dc542?page=1
2011年2月12日
作者:enet
对于在win7下的vs2008破解,和在xp内核系统下的破解是不同的.
传统的破解方式:
一、先安装试用版,然后在“添加或删除程序”里找到VS2008,点“更改/删除”就会看到一个输入序列号的地方,把序列号输进去,点“升级”按钮即 可,Team Suite和Professional通用。
二、把ISO中的Setup/setup.sdb文件中的[Product Key],由“T2CRQGDKBVW7KJR8C6CKXMW3D”修改为“PYHYPWXB3BB2CCMV9DX9VDY8T”, 之后正常安装即可
但在win7和win2008R2中,第一种方法是行不通的,因为win7系统中微软遮蔽了序列号输入窗口.
显示输入序列号的地方被遮蔽了。
如果安装之后需要破解,需要采用以下的方法:
一、首先下载下面的补丁程序
win7,win2008R2系统Vs2008补丁
补丁地址:http://goo.gl/O05C7
二、运行到维护模式下,运行补丁程序,点击打补丁,即可看到维护模式下的出现序列号输入框,数据我下面提供的序列号即可。
以下是收集的序列号:
1.Visual Studio 2008 Professional Edition: XMQ2Y-4T3V6-XJ48Y-D3K2V-6C4WT
2.Visual Studio 2008 Team Test Load Agent: WPX3J-BXC3W-BPYWP-PJ8CM-F7M8T
3.Visual Studio 2008 Team System: PYHYP-WXB3B-B2CCM-V9DX9-VDY8T
4.Visual Studio 2008 Team Foundation Server: WPDW8-M962C-VJX9M-HQB4Q-JVTDM
这是写补丁作者原文:http://blog.sina.com.cn/s/blog_57b5da120100gk7l.html
三 尝试直接修改注册表中的序列号, 不过我这里没有成功, 但还是把注册表的地址发出来, 方便大家研究.
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\9.0\Registration]
这个是注册表里放序列号的,试试改一下PIDKEY的值.里面pidkey有两个,都要改的, 不用加”-”.
从XP上拷贝了份msi安装文件.
安装在2003上,现测试一篇.
You can now install the latest technical preview of Windows Live Writer.
What you’ll find in this release:
This release is largely about updates to the Writer SDK, which now includes hooks for pre- and post-publish events. These updates are still experimental and these APIs are not stable–we may make changes based on your feedback that break plug-ins that use these new methods. However, we’re really excited about the new set of scenarios have been unlocked and look forward to hearing feedback from all of you Writer plug-in developers out there.
For more details about the SDK, please see the blog post on Windows Live Dev.
You’ll also get an early look at some improvements and new features we’ve been working on:
We look forward to hearing your feedback about this release. The following resources are available to you for providing feedback to the Writer team:
We hope you enjoy the Technical Preview!
The Windows Live Writer Team