今天早上骑车来公司的时候下小雨了,不大,无风。
上午准备把Url中含有中文参数时,用 Uri.AbsoluteUri 取Url的连接时,它会自动把Url中的汉字进行UTF-8编码成类似%A1A2A3的形式,再对这个绝对 Url 转码后就造成了有的 Url 不能访问,(正常应该是对原Url 进行 ASCII编码)这个问题困惑好久,怎么 Uri.AbsoluteUri 取得的Url 就不能访问。最后还是 把 Uri.ToString() 进行ASCII编码解决的,没有用 Uri.AbsoluteUr。其中转码用:
System.Web.HttpUtility.UrlEncode(oriUrl, encoding)
下午主要听了下如何写专利的讲座。我们写专利主要是写一个技术交底书,然后有专门的专利律师帮我们写。其中技术交底书包括:发明名称、技术领域、背景技术、发明内容(发明目的,发明方案,技术效果) 、附图说明、具体实施方式、关键点所在。
最后,软件启动是要输入用户名,就把用户名写入了注册表中,每次启动时再读取。
public bool IsRegeditFolderExist(string folderName)
{
bool bRet = false;
RegistryKey local = Registry.LocalMachine;
RegistryKey software = local.OpenSubKey("SOFTWARE", true);
RegistryKey folder = software.OpenSubKey(folderName, true);
if (folder != null)
{
bRet = true;
}
return bRet;
}
public RegistryKey CreatRegeditFolder(string folderName)
{
RegistryKey local = Registry.LocalMachine;
RegistryKey software = local.OpenSubKey("SOFTWARE", true);
RegistryKey folder = software.OpenSubKey(folderName, true);
if (folder == null)
{
folder = software.CreateSubKey(folderName);
}
return folder;
}
public bool IsRegeditKeyExist(string folderName, string keyName)
{
bool bRet = false;
RegistryKey local = Registry.LocalMachine;
RegistryKey software = local.OpenSubKey("SOFTWARE", true);
RegistryKey folder = software.OpenSubKey(folderName, true);
if (folder != null)
{
string[] subKeyNames = folder.GetValueNames();
foreach (string subKey in subKeyNames)
{
if (subKey == keyName)
{
bRet = true;
break;
}
}
}
return bRet;
}
public string GetRegeditKeyValue(string folderName, string keyName)
{
RegistryKey local = Registry.LocalMachine;
RegistryKey software = local.OpenSubKey("SOFTWARE", true);
RegistryKey folder = software.OpenSubKey(folderName, true);
string sRet = folder.GetValue(keyName).ToString();
return sRet;
}
public void CreatRegeditKey(string folderName, string keyName, string keyValue)
{
RegistryKey local = Registry.LocalMachine;
RegistryKey software = local.OpenSubKey("SOFTWARE", true);
RegistryKey folder = software.OpenSubKey(folderName, true);
folder.SetValue(keyName, keyValue);
}
public void DeleteRegeditFolder(string folderName)
{
RegistryKey local = Registry.LocalMachine;
RegistryKey software = local.OpenSubKey("SOFTWARE", true);
software.DeleteSubKeyTree(folderName);
}
public bool DeleteRegeditKey(string folderName, string keyName)
{
bool bRet = false;
RegistryKey local = Registry.LocalMachine;
RegistryKey software = local.OpenSubKey("SOFTWARE", true);
RegistryKey folder = software.OpenSubKey(folderName, true);
string[] subKeyNames = folder.GetSubKeyNames();
foreach (string subKey in subKeyNames)
{
if (subKey == keyName)
{
folder.DeleteSubKeyTree(keyName);
bRet = true;
break;
}
}
return bRet;
}
{
bool bRet = false;
RegistryKey local = Registry.LocalMachine;
RegistryKey software = local.OpenSubKey("SOFTWARE", true);
RegistryKey folder = software.OpenSubKey(folderName, true);
if (folder != null)
{
bRet = true;
}
return bRet;
}
public RegistryKey CreatRegeditFolder(string folderName)
{
RegistryKey local = Registry.LocalMachine;
RegistryKey software = local.OpenSubKey("SOFTWARE", true);
RegistryKey folder = software.OpenSubKey(folderName, true);
if (folder == null)
{
folder = software.CreateSubKey(folderName);
}
return folder;
}
public bool IsRegeditKeyExist(string folderName, string keyName)
{
bool bRet = false;
RegistryKey local = Registry.LocalMachine;
RegistryKey software = local.OpenSubKey("SOFTWARE", true);
RegistryKey folder = software.OpenSubKey(folderName, true);
if (folder != null)
{
string[] subKeyNames = folder.GetValueNames();
foreach (string subKey in subKeyNames)
{
if (subKey == keyName)
{
bRet = true;
break;
}
}
}
return bRet;
}
public string GetRegeditKeyValue(string folderName, string keyName)
{
RegistryKey local = Registry.LocalMachine;
RegistryKey software = local.OpenSubKey("SOFTWARE", true);
RegistryKey folder = software.OpenSubKey(folderName, true);
string sRet = folder.GetValue(keyName).ToString();
return sRet;
}
public void CreatRegeditKey(string folderName, string keyName, string keyValue)
{
RegistryKey local = Registry.LocalMachine;
RegistryKey software = local.OpenSubKey("SOFTWARE", true);
RegistryKey folder = software.OpenSubKey(folderName, true);
folder.SetValue(keyName, keyValue);
}
public void DeleteRegeditFolder(string folderName)
{
RegistryKey local = Registry.LocalMachine;
RegistryKey software = local.OpenSubKey("SOFTWARE", true);
software.DeleteSubKeyTree(folderName);
}
public bool DeleteRegeditKey(string folderName, string keyName)
{
bool bRet = false;
RegistryKey local = Registry.LocalMachine;
RegistryKey software = local.OpenSubKey("SOFTWARE", true);
RegistryKey folder = software.OpenSubKey(folderName, true);
string[] subKeyNames = folder.GetSubKeyNames();
foreach (string subKey in subKeyNames)
{
if (subKey == keyName)
{
folder.DeleteSubKeyTree(keyName);
bRet = true;
break;
}
}
return bRet;
}
在模仿中成长,在创新中成功