一切福田,不離方寸,從心而覓,感無不通。

Category Archives: Programming Language

C# 重启计算机的问题

  C# 程序重启计算机的方法很多,网上也有不少这方面的文章,不过很多网上提供的方法在某些情况下无法获取重启计算机的权限导致重启失败。本文对这些方法做一些简单的讨论。 作者:eaglet   网上介绍最多的两种方法分别是:

  这两种方法在通常情况下工作是没有问题的,但在某些特殊情况下,比如桌面被其它用户锁定时就无法重启计算机。本人在实际工作中遇到过当当前屏幕被远程控制软件锁定后,我做的后台守护进程试图重启计算机,结果用上述两种方法都无法成功。分析原因,应该是远程控制软件用另外的帐号锁定了屏幕(通常应该是windows service 或者 network service),这时守护进程用当前帐号重启计算机就因为没有权限而失败。 要解决这个问题,我们必须要给进程赋予足够的权限才行,于是我在调用 ExitWindowsEx 前运行了如下代码来赋予当前进程关闭计算机权限  

 

 

 

 

上面代码为当前进程赋予了关闭计算机的权限。这里需要注意的是上述代码要执行成功同样需要足够的权限,通常当前进程需要以拥有至少是系统管理员权限的账户运行。如果没有足够权限,需要用程序模拟系统管理员权限,模拟其它帐号权限的问题不在本文讨论范围内。 加上如上代码后,在其他用户锁定机器后,重启计算机成功。 下面给出完整代码

 

 

 

 

 

 

[…]

龙生   01 Apr 2015
View Details

解决wordpress中文标签tag翻页404错误问题

前面有一篇文章已经介绍过中文标签打开404错误的解决方法《解决中文标签打不开404错误问题》,这个只能解决中文标签的问题,当同一个标签中文章较多的时候,就存在标签页面分页的问题了,发现如果仅按照上文的方法修改,标签页面分也无法正常打开,同样会有404错误的问题,下面提供几种方法解决标签tag页面中文分页404错误问题。

注意:别用windows自带的记事本修改(推荐UltraEdit,Dreamweaver,notepad++等)。


 

1、如果你已经修改过wp-includes目录中的classes.php,可以正常访问中文标签。

代码的140行左右,将

  1. $pathinfo = $_SERVER[‘PATH_INFO’];

替换为:

  1. $pathinfo = mb_convert_encoding($_SERVER[‘PATH_INFO’], “UTF-8″, “GBK”);

  1. $req_uri = $_SERVER[‘REQUEST_URI’];

替换为:

  1. $req_uri = mb_convert_encoding($_SERVER[‘REQUEST_URI’], “UTF-8″, “GBK”);

那么下面你只需要修改wp-includes目录中的link-template.php文件的(1425行左右)

  1. $result = $base . $request . $query_string;

替换为

  1. $result = $base . mb_convert_encoding($request, ‘UTF-8‘, ‘GBK’) . $query_string;

这种方式替换后的tag翻页里面含有中文,不符合url标准,不太利于搜索引擎收录,建议采用下面方法解决。


 

2、如果你什么都未修改,现在还无法访问中文标签tag。

可以通过安装插件iis-chinese-tag-permalink解决这个问题。

iis-chinese-tag-permalink下载地址:http://wordpress.org/extend/plugins/iis-chinese-tag-permalink/

这个插件函数很少只有几个替换函数而已,不会占用太多资源,如果你不想用插件,可以下载后把插件里面的几个函数拷贝到主题目录的functions.php中,本博就是采用这种方式。

 

from:http://www.52qingyin.cn/chinese-tag-page-problem.html

处理程序“PageHandlerFactory-Integrated”在其模块列表中有一个错误模块“ManagedPipelineHandler”

今天安装了windows7 开发web项目需要安装IIS,当安装完以后,web程序已经映射到了本地IIS上,运行出现如下错误提示 处理程序“PageHandlerFactory-Integrated”在其模块列表中有一个错误模块“ManagedPipelineHandler” 原因: vs2010默认的是4.0框架,4.0的框架是独立的CLR,和2.0的不同,如果想运行4.0的网站,需要用aspnet_regiis注册4.0框架,然后用4.0的Class池,就可以运行4.0的web项目了. 如何用aspnet_regiis注册4.0框架 : 方法如下,启动cmd (win键+R 启动cmd)  ,找到 4.0所在的目录,本人机器目录是 ; 注意:要以管理员的身份运行DOS窗口。 复制上面的目录  C:\Windows\Microsoft.NET\Framework\v4.0.30319 启动CMD进入上面的目录,如下图 回车后 如下图 已经进入 C:\Windows\Microsoft.NET\Framework\v4.0.30319 此目录 然后运行  aspnet_regiis.exe -i  如下图 稍等一会,  aspnet_regiis 注册后如下图 ok,这时的IIS就可以运行 .net 4.0 部署的网站了. from:http://blog.163.com/wger_163_dh/blog/static/142646155201151394642791/

龙生   28 Mar 2015
View Details

php环境无法上传文件的解决方法

一、 检查网站目录的权限。 上传目录是否有写入权限。 二、 php.ini配置文件 php.ini中影响上传的有以下几处: file_uploads 是否开启 on 必须开启 是否允许HTTP文件上传 post_max_size = 8M PHP接受的POST数据最大长度。此设定也影响到文件上传。 要上传大文件,该值必须大于"upload_max_filesize" 如果配置脚本中激活了内存限制,"memory_limit"也会影响文件上传。 一般说来,"memory_limit"应该比"post_max_size"要大。 upload_max_filesize = 2M 允许上传的文件的最大尺寸 upload_tmp_dir = C:\windows\temp 文件上传时存放文件的临时目录。必须是PHP进程用户可写的目录。如果未指定则PHP使用系统默认值 default_socket_timeout = 60 socket超时,单位是秒 max_execution_time = 30 每个脚本最大允许执行时间, 按秒计。默认为30秒。 这个参数有助于阻止劣质脚本无休止的占用服务器资源。 注: "max_execution_time"仅影响脚本本身的运行时间。 任何其它花费在脚本运行之外的时间,如用system()/sleep()函数的使用、数据库查询、文件上传等都不包括在内。 在安全模式下,你不能用ini_set()在运行时改变这个设置 max_input_time = 60 每个脚本接收输入数据的最大允许时间(POST, GET, upload), 按秒计 memory_limit = 128M 设定一个脚本所能够申请到的最大内存字节数。 这有助于防止劣质脚本消耗完服务器上的所有内存。 要使用此指令必须在编译的时候激活。 因此 configure 一行中应该包括:--enable-memory-limit 如果不需要任何内存上的限制,必须将其设为 -1 自php4.3.2 起,当设置了memory_limit后,memory_get_usage()函数将变为可用 三、upload_tmp_dir目录权限 如果php配置没问题,那问题有可能出在upload_tmp_dir设定的目录权限问题。加入IIS_WPG除完全控制外的权限,users的读写权限,NETWORK SERVER除完全控制外的权限。 四、如果起用了ZEND,看Temp文件夹中是否有ZendOptimizer.MemoryBase@SYSTEM和ZendOptimizer.MemoryBase@NETWORKSERVICE,如果没有,就建立它。 五、如果以上都不行,那问题很有可能出在这里了,检查windows目录是否禁用guests来宾组,要给windows目录users组 读取和执行权限。 from:http://www.jb51.net/article/49557.htm

龙生   27 Mar 2015
View Details

VS2012创建MVC3项目提示错误: 此模板尝试加载组件程序集 “NuGet.VisualStudio.Interop, Version=1.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a”

  VS2012已经全面切换到使用NuGet这个第三方开源工具来管理项目包和引用模块了,使用VS2012开发,都要装NuGet插件(官网:http://nuget.org),进官网点安装就进入了微软的下载页面,选择vs2012版本的NuGet.Tools.vsix文件,双击安装就可以了。 from:http://www.cxyclub.cn/n/20504/

龙生   27 Mar 2015
View Details

C# Winform对文件夹的权限判断及处理

WindowsIdentity类可以获取当前执行者的身份信息         /// <summary> /// 递归搜索文件方法 /// </summary> /// <param name="path">搜索的目录</param> /// <param name="name">搜索的文件名</param> public void GetDir(string path,string name) { DirectoryInfo di = new DirectoryInfo(path); DirectorySecurity s = new DirectorySecurity(path, AccessControlSections.Access); //判断目录是否 可以访问 if (!s.AreAccessRulesProtected) { foreach (DirectoryInfo d in di.GetDirectories()) { foreach (FileInfo fi in di.GetFiles()) { if (fi.Name.Contains(name)) { txtInfo.AppendText("文件名:"+fi.Name + " 路径:" + fi.FullName + " \n"); } } GetDir(d.FullName, name); } } } }   对执行的程序设定执行身份权限 如果程序不是以管理员身份运行,操作本地文件会提示:System.UnauthorizedAccessException异常   Vista 和 Windows 7 操作系统为了加强安全,增加了 UAC(用户账户控制) 的机制,如果 UAC 被打开,用户即使是以管理员权限登录,其应用程序默认情况下也无法对系统目录,系统注册表等可能影响系统运行的设置进行写操作。这个机制大大增强了系统的安全性,但对应用程序开发者来说,我们不能强迫用户去关闭UAC,但有时我们开发的应用程序又需要以 Administrator 的方式运行,即 Win7 中 […]

龙生   20 Mar 2015
View Details

C# WinForm判断Win7下程序是否以管理员身份运行

如果程序不是以管理员身份运行,操作本地文件会提示:System.UnauthorizedAccessException异常。   Vista 和 Windows 7 操作系统为了加强安全,增加了 UAC(用户账户控制) 的机制,如果 UAC 被打开,用户即使是以管理员权限登录,其应用程序默认情况下也无法对系统目录,系统注册表等可能影响系统运行的设置进行写操作。这个机制大大增强了系统的安全性,但对应用程序开发者来说,我们不能强迫用户去关闭UAC,但有时我们开发的应用程序又需要以 Administrator 的方式运行,即 Win7 中 以 as administrator 方式运行,那么我们怎么来实现这样的功能呢?   我们在 win7 下运行一些安装程序时,会发现首先弹出一个对话框,让用户确认是否同意允许这个程序改变你的计算机配置,但我们编写的应用程序默认是不会弹出这个提示的,也无法以管理员权限运行。本文介绍了 C# 程序如何设置来提示用户以管理员权限运行。 首先在项目中增加一个 Application Manifest File app.manifest 默认的配置如下:   <?xml version="1.0" encoding="utf-8"?> <asmv1:assembly manifestVersion="1.0" xmlns="urn:schemas-microsoft-com:asm.v1" xmlns:asmv1="urn:schemas-microsoft-com:asm.v1" xmlns:asmv2="urn:schemas-microsoft-com:asm.v2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <assemblyIdentity version="1.0.0.0" name="MyApplication.app"/> <trustInfo xmlns="urn:schemas-microsoft-com:asm.v2"> <security> <requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3"> <!-- UAC Manifest Options If you want to change the Windows User Account Control level replace the requestedExecutionLevel node with one of the following.<requestedExecutionLevel level="asInvoker" uiAccess="false" /> <requestedExecutionLevel level="requireAdministrator" uiAccess="false" /> <requestedExecutionLevel level="highestAvailable" uiAccess="false" /> If you want to […]

龙生   20 Mar 2015
View Details

wordpress“您没有足够的权限访问该页面”

错误原因 WordPress程序可以通过设置不同的数据表前缀来实现一个数据库安装多个WordPress网站。 由于本地测试环境使用此方法同时安装了多个WordPress测试程序,在一次将网站数据库备份到本地并使用phpmyadmin修改完表前缀后出现“您没有足够的权限访问该页面”的错误提示。 出现这个错误是因为修改前缀不够彻底,某些数据表中字段的值也包含了之前的前缀。所以我们要一并将之前的前缀改为现用的前缀,问题即可得到解决。 解决方案  包含了前缀的数据表有两个:“前缀_options”和“前缀_usermeta”。本实例为:test_options和test_usermeta。  首先进入表test_options,使用phpmyadmin的搜索功能。搜索option_name字段,运算符选择:LINK%…%  值填入之前的前缀名:wp_ 得到如下结果:  将wp_user_roles修改为test_user_roles;并继续对表test_usermeta进行修改。同样使用phpmyadmin的搜索功能。搜索meta_key字段,运算符选择:REGEXP^…$  值填入之前的前缀名+.*:wp_.* 得到如下结果: 将所有以前前缀名:wp_开头(如:wp_capabilities,wp_user-settings,wp_user_level,wp_user-settings-time等)的字段全部改为现前缀名:test_(如:test_capabilities,test_user-settings,test_user_level,test_user-settings-time等) 至此问题解决完毕。 FROM:http://jingyan.baidu.com/article/e2284b2b3b5085e2e7118d47.html

龙生   19 Mar 2015
View Details

.NET framework 4.0安装失败怎么办

每次我安装AUTO cad2012都会提示我必须要更新安装.NET framework 4.0,但总是提示安装失败。经过反复的学习与测试,我终于知道如何处理了。 找到安装包双击安装; 接受许可条款点击安装; 安装提示双进度条,安装成功将会提示你安装成功。 安装失败是,安装进度条会变成安装回滚条,将会提示安装未完成。 解决方法:开始——运行——输入cmd——回车——在打开的窗口中输入net stop WuAuServ 开始——运行——输入%windir% 找到有个叫SoftwareDistribution的文件夹,把它重命名为SDold 开始——运行——输入cmd——回车——在打开的窗口中输入net start WuAuServ 开始——运行——输入regedit——回车 找到注册表,HKEY_LOCAL_MACHINE\SOFWARE\Microsoft\Internet Explorer下的MAIN子键,右击main后,在上面菜单中找到“编辑”--“权限”,点击后就会出现“完全控制”等字样,勾上即可放心安装。 一般使用ghost系统都会出现这种问题,由于开发系统默认的权限设置导致这种情况无发安装。 FROM:http://jingyan.baidu.com/article/00a07f3892376982d028dc2a.html

龙生   19 Mar 2015
View Details

Python 环境搭建

本章节我们将向大家介绍如何在本地搭建Python开发环境。 Python可应用于多平台包括 Linux 和 Mac OS X。 你可以通过终端窗口输入 "python" 命令来查看本地是否已经安装Python以及Python的安装版本。 Unix (Solaris, Linux, FreeBSD, AIX, HP/UX, SunOS, IRIX, 等等。) Win 9x/NT/2000 Macintosh (Intel, PPC, 68K) OS/2 DOS (多个DOS版本) PalmOS Nokia 移动手机 Windows CE Acorn/RISC OS BeOS Amiga VMS/OpenVMS QNX VxWorks Psion Python 同样可以移植到 Java 和 .NET 虚拟机上。   Python下载 Python最新源码,二进制文档,新闻资讯等可以在Python的官网查看到: Python官网:http://www.python.org/ 你可以在一下链接中下载Python的文档,你可以下载 HTML、PDF 和 PostScript 等格式的文档。 Python文档下载地址:www.python.org/doc/   Python安装 Python已经被移植在许多平台上(经过改动使它能够工作在不同平台上)。 您需要下载适用于您使用平台的二进制代码,然后安装Python。 如果您平台的二进制代码是不可用的,你需要使用C编译器手动编译源代码。 编译的源代码,功能上有更多的选择性, 为python安装提供了更多的灵活性。 以下为不同平台上安装Python的方法: Unix & Linux 平台安装 Python: 以下为在Unix & Linux 平台上安装 Python 的简单步骤: 打开WEB浏览器访问http://www.python.org/download/ 选择使用于Unix/Linux的源码压缩包。 下载及解压压缩包。 如果你需要自定义一些选项修改Modules/Setup 执行 ./configure 脚本 make make install 执行以上操作后,Python会安装在 /usr/local/bin […]

龙生   06 Feb 2015
View Details
1 133 134 135 175