Archive for 九月, 2008

Delphi 程序对 Windows VISTA 的支持

以前一直在 WIN XP /2003 下编程,现在有客户使用 VISTA 系统,运行程序的时候报错。我的程序用到了注册表,还是对 HKLM 进行读写,VISTA 的安全机制肯定是不让了,别人的软件在遇到这个问题的时候都有一个 WINDOWS 的安全提示,询问是否以管理员身份运行,我的程序就什么提示都没有,直接报错。后来在网上查到了解决办法,让我的程序也支持 VISTA 了。

操作步骤:

1.建立 res 文件

建立一个文本文件,名字可以自己起,我这里叫:UAC.manifest,内容:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">  
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
    <security>
      <requestedPrivileges>
        <requestedExecutionLevel level="requireAdministrator"/>
      </requestedPrivileges>
    </security>
</trustInfo>
</assembly>

建立文本文件,名为 UAC.rc,内容:

1 24 UAC.manifest

编译成 uac.res 文件,运行:

brcc32 uac.rc -fouac.res

2.在代码中引入
打开项目文件,加入

{$R uac.res}

3.编译程序

这时程序就支持 VISTA 了,在运行的时候,会弹出 WINDOWS 的提示框,询问用户是否允许以管理员身份运行。


Windows Vista 系统下安装 BDS2006 Update 2

在 Windows Vista 系统下安装 BDS 2006 的 Update 2 时,可能会出现下面的错误:“Setup cannot continue. This is Update 2 setup for Borland Developer Studio 2006 <Edition> Edition. Please cancel this and install Edition of Update 2.”

解决办法:

在开始菜单附件中,找到“命令提示符”,右键,“以管理员身份运行”,假如我把我的安装包放到了我的桌面上,我的用户名叫 mike,那我就键入“cd \Users\mike\Desktop”,然后“msiexec /update bds2006_en_arch_upd2.msp”,就可以了。

这个问题是由于 Vista 的安全机制引起的。


C# 中子窗体最大化的问题

在 C# 中做 MDI 程序的时候,子窗体经常是被定义成最大化状态,在子窗体的属性里,把 WindowState 设置成 Maximized,然后在主窗体中用 frmChild.Show() 来显示,代码如下:

1
2
3
frmChild fc = new frmChild();
fc.MdiParent = this;
fc.Show();

运行的时候,会发现一个问题,子窗口并没有真正的最大化,而是窗口外框是最大化的,里面的控件还都是原来的位置,没有达到最大化的效果。
解决办法:在子窗体属性里把 WindowState 设置成 Normal,在代码中去设置这个属性值就可以了,代码如下:

1
2
3
4
frmChild fc = new frmChild();
fc.MdiParent = this;
fc.WindowState = FormWindowState.Maximized;
fc.Show();

这样,运行就正常了。

在 VS2005 和 VS2008 中都是这样。


让 WordPress 用 SMTP 方式发邮件

装好 WordPress 后,默认是用 PHP 的 mail 来发送邮件,一般情况下,都不太符合我们的要求,还是想用自己的邮箱来发,那就要用到 SMTP 了。

有两个文件要改,都是在 wp-includes 目录下,class-phpmailer.php 和 pluggable.php。

先改 class-phpmailer.php

把几个变量的值填上,有 $From、$FromName、$Sender、$Mailer、$Host、$SMTPAuth、$Username、$Password。

然后再改 pluggable.php,找到 wp_mail() 函数中 $phpmailer->IsMail(),改成 $phpmailer->IsSMTP() 就可以了。


WM6.1 关闭短信对话模式的方法

在刷了 WM6.1 后,短信使用的是对话模式,最开始一用,感觉很好,用着用着,随着给同一个人发短信的条数的增多,每次打开短信内容的时候,会把以前的消息都列出来,很慢,所以还是改成以前的模式比较好。
修改注册表就可以实现:
在注册表里找到
[HKEY_CURRENT_USER\Software\Microsoft\Inbox\Settings]
新建 项[OEM],然后在 OEM 下新建 DWORD 键值,名为:SMSInboxThreadingDisabled,值为 1
重启短信功能或重开机就行了


下载 Windows Server 2008 和 SQL Server 2008 试用

早就听说微软发布了 Windows Server 2008 和 SQL Server 2008,一直没有时间去下载过来试试。这几天有闲了,在网上搜了一下,找到了比较好的版本进行下载。

先贴上下载地址:

SQL Server 2008 企业版下载:

http://www.verycd.com/groups/0202/325706.topic

Windows Server 2008 下载:

http://www.verycd.com/groups/0202/246304.topic

SQL Server 2008 在安装的时候,是已经填好序列号的,只要继续就可以了,安好就是企业版。如果要安装开发版的话,只要在序列号那里更改为开发版的序列号,就可以在 Windows XP 下安装了。

Windows Server 2008 安装的时候不需要输入序列号,但是还不能激活,下载的页面里有人给出了序列号,我也没有激活成功,用 hot8.cn 出的 vista 激活程序也不起作用,就暂时放下了。


  • 订阅更新

    邮件地址:

  • 我的微博

  • 分类目录

  • 声明

    Creative Commons License
    本作品采用知识共享署名-非商业性使用-相同方式共享 3.0 Unported许可协议进行许可。
    个人博客转载时请遵循“署名-非商业性使用-相同方式共享”的创作共用协议
    商业网站或未授权媒体不得复制本站内容
  • Copyright © 1996-2010 馋嘴蜗牛. All rights reserved.
    iDream theme by Templates Next | Powered by WordPress