王力猛的博客

-=☆开发手记☆=-

老王ID:wallimn
33517次访问,排名3376(1)好友4人,关注者18
写过一些软件,VC、Delphi、Java都会一些,Oracle数据库也懂一点。这几年一直在同这些东西打交道。
wallimn的文章
原创 49 篇
翻译 0 篇
转载 7 篇
评论 85 篇
wallimn的公告

  我是一名编程爱好者,在此记录一些我编程过程中遇到的问题及解决方法,希望对遇到类似问题的朋友有所帮助。
  欢迎有共同爱好的朋友联系交流。
邮件:
wallimn@yahoo.cn
QQ:
54871876
MSN:
wallimn@hotmail.com
网络硬盘:
http://wallimn.ys168.com
最近评论
xxx:WORD插件中的签名和图章能不能透明处理一下
wallimn:老大,你弄的什么呀?这么多?
你的SQL是什么意思?有点让人费解
280500481:select top 3 * from(select top 3 * from (select top 6 * from t_news) order by id desc) order by id这个可以,不过如果id是string的就没办法了,呵呵
280500481:select top 3 * from(select top 3 * from (select top 6 * from t_news) order by id desc) order by id这个可以,不过如果id是string的就没办法了,呵呵
280500481:select top 3 * from(select top 3 * from (select top 6 * from t_news) order by id desc) order by id这个可以,不过如果id是string的就没办法了,呵呵
文章分类
收藏
    相册
    个人相册
    友情链拉
    我的博客2
    我的网络硬盘
    我老婆的博客
    存档
    订阅我的博客
    XML聚合  FeedSky
    订阅到鲜果
    订阅到Google
    订阅到抓虾
    订阅到BlogLines
    订阅到Yahoo
    订阅到GouGou
    订阅到飞鸽
    订阅到Rojo
    订阅到newsgator
    订阅到netvibes

    原创 用VC给Oracle的即时客户端(InstanceClient)写个安装设置程序收藏

    新一篇: 我的老婆很聪明(二) | 旧一篇: 介绍一款可视化的流程定义工具

    Oracle 出了个即时客户端,设置三个环境变量就可以用了,也不大。

    为了更加方便使用,我写了个程序,放在即时客户端目录里,运行一下就把三个环境变量设好了。很方便。

    程序也不难,核心代码贴一下。

    // OraSetup.cpp : 定义应用程序的类行为。
    
    //
    
    
    
    #include "stdafx.h"
    
    #include "OraSetup.h"
    
    #include "OraSetupDlg.h"
    
    
    
    #ifdef _DEBUG
    
    #define new DEBUG_NEW
    
    #endif
    
    
    
    
    
    // COraSetupApp
    
    
    
    BEGIN_MESSAGE_MAP(COraSetupApp, CWinApp)
    
    	ON_COMMAND(ID_HELP, &CWinApp::OnHelp)
    
    END_MESSAGE_MAP()
    
    
    
    
    
    // COraSetupApp 构造
    
    
    
    COraSetupApp::COraSetupApp()
    
    {
    
    	// TODO: 在此处添加构造代码,
    
    	// 将所有重要的初始化放置在 InitInstance 中
    
    }
    
    
    
    
    
    // 唯一的一个 COraSetupApp 对象
    
    
    
    COraSetupApp theApp;
    
    CString COraSetupApp::GetMyPath()
    
    {
    
    	CString strPath;
    
    	GetModuleFileName(NULL,strPath.GetBufferSetLength(MAX_PATH+1),MAX_PATH);
    
    	strPath.ReleaseBuffer();
    
    	return strPath;
    
    }
    
    BOOL COraSetupApp::SetEnv(CString key,CString value,BOOL bAppend)
    
    {
    
    	HKEY hRegKey;
    
    	BOOL bResult=FALSE;
    
    	CString str=_T("SYSTEM\\ControlSet001\\Control\\Session Manager\\Environment");
    
    	if(::RegOpenKey(HKEY_LOCAL_MACHINE, str, &hRegKey) != ERROR_SUCCESS) 
    
    		bResult=FALSE;
    
    	else
    
    	{
    
    		if(bAppend){
    
    			CString oldValue=_T("");
    
    			DWORD size;
    
    			::RegQueryValueEx(hRegKey,key,NULL,NULL,(BYTE *)oldValue.GetBuffer(1024),&size);
    
    			oldValue.ReleaseBuffer();
    
    			if(oldValue.Find(value)!=-1){
    
    				//已经写过
    
    				return TRUE;
    
    			}
    
    			value = value+_T(";")+oldValue;
    
    		}
    
    		bResult=(::RegSetValueEx( hRegKey,
    
    			key,
    
    			0,
    
    			REG_SZ,
    
    			(CONST BYTE *)value.GetBuffer(0),
    
    			value.GetLength()*sizeof(TCHAR) ) != ERROR_SUCCESS);
    
    	}		
    
    	return bResult;
    
    }
    
    
    
    // COraSetupApp 初始化
    
    
    
    BOOL COraSetupApp::InitInstance()
    
    {
    
    	// 如果一个运行在 Windows XP 上的应用程序清单指定要
    
    	// 使用 ComCtl32.dll 版本 6 或更高版本来启用可视化方式,
    
    	//则需要 InitCommonControlsEx()。否则,将无法创建窗口。
    
    	INITCOMMONCONTROLSEX InitCtrls;
    
    	InitCtrls.dwSize = sizeof(InitCtrls);
    
    	// 将它设置为包括所有要在应用程序中使用的
    
    	// 公共控件类。
    
    	InitCtrls.dwICC = ICC_WIN95_CLASSES;
    
    	InitCommonControlsEx(&InitCtrls);
    
    
    
    	CWinApp::InitInstance();
    
    
    
    	// 标准初始化
    
    	// 如果未使用这些功能并希望减小
    
    	// 最终可执行文件的大小,则应移除下列
    
    	// 不需要的特定初始化例程
    
    	// 更改用于存储设置的注册表项
    
    	// TODO: 应适当修改该字符串,
    
    	// 例如修改为公司或组织名
    
    	SetRegistryKey(_T("应用程序向导生成的本地应用程序"));
    
    
    
    	CString path = GetMyPath();
    
    	TCHAR driver[255],dir[255];
    
    
    
    	_tsplitpath(path.GetBuffer(0),driver,dir,NULL,NULL);
    
    	path.ReleaseBuffer();
    
    
    
    	//去年最后的
    
    	//我看人家的都不放
    
    
    
    	path = driver;
    
    	path += dir;
    
    	path = path.TrimRight(_T("\\"));
    
    
    
    	SetEnv(_T("TNS_ADMIN"), path);
    
    	SetEnv(_T("Path"), path,TRUE);
    
    	SetEnv(_T("NLS_LANG"), _T("SIMPLIFIED CHINESE_CHINA.ZHS16GBK"));
    
    
    
    	return FALSE;
    
    	/*
    
    	COraSetupDlg dlg;
    
    	m_pMainWnd = &dlg;
    
    	INT_PTR nResponse = dlg.DoModal();
    
    	if (nResponse == IDOK)
    
    	{
    
    	// TODO: 在此处放置处理何时用“确定”来关闭
    
    	//  对话框的代码
    
    	}
    
    	else if (nResponse == IDCANCEL)
    
    	{
    
    	// TODO: 在此放置处理何时用“取消”来关闭
    
    	//  对话框的代码
    
    	}
    
    
    
    	// 由于对话框已关闭,所以将返回 FALSE 以便退出应用程序,
    
    	//  而不是启动应用程序的消息泵。
    
    	return FALSE;
    
    	*/
    
    }
    下载请到我的网络硬盘。
    

    发表于 @ 2008年06月23日 13:00:53|评论(loading...)|编辑|收藏

    新一篇: 我的老婆很聪明(二) | 旧一篇: 介绍一款可视化的流程定义工具

    评论:没有评论。

    发表评论  


    登录
    Csdn Blog version 3.1a
    Copyright © wallimn