<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>O I P O P - 私人领域</title>
	<atom:link href="http://blog.oipop.com/feed" rel="self" type="application/rss+xml" />
	<link>http://blog.oipop.com</link>
	<description>From the Internet, For the Internet.</description>
	<lastBuildDate>Mon, 21 Jun 2010 21:13:40 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>SBC3530开发板操作</title>
		<link>http://blog.oipop.com/archives/96</link>
		<comments>http://blog.oipop.com/archives/96#comments</comments>
		<pubDate>Mon, 21 Jun 2010 21:13:40 +0000</pubDate>
		<dc:creator>Kinsta</dc:creator>
				<category><![CDATA[linux系统]]></category>

		<guid isPermaLink="false">http://blog.oipop.com/?p=96</guid>
		<description><![CDATA[切换VGA和LCD显示 进入U-BOOT VGA显示： #setenv dvimode 1024x768MR-16@60 #setenv defaultdisplay dvi #saveenv #boot LCD显示： #setenv dvimode #setenv defaultdisplay lcd070 #saveenv #boot 从NAND Flash启动核心 有两种启动方式，一个是SD卡，一个是nandflash。 SD卡有两个分区，一个FAT32，一个是EXT3。 MLO,u-boot.bin,uImage，ubi.img镜像是放在FAT32分区，root.tar.bz2,文件系统解压放在EXT3分区。 SD卡启动，只要把MLO,u-boot.bin,uImage镜像是放在FAT32分区，root.tar.bz2,文件系统解压放在EXT3分区。就可以启动系统了。 nandflash启动，只要把MLO,u-boot.bin,uImage，ubi.img镜像是放在FAT32分区，然后进入到U-BOOT里，用烧写命令把这四个烧写在nandflash就可以启动系统了。 安装GCC #opkg update #opkg install gcc &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211; 集成ARM嵌入式JVM SCB3530开发板Angstrom系统 首先安装cacao嵌入式虚拟机 #opkg install cacao 安装GNU classpath #opkg install classpath 安装GTK支持awt,swing #opkg install classpath-awt #export DISPLAY=127.0.0.1:0.0]]></description>
			<content:encoded><![CDATA[<p><strong>切换VGA和LCD显示</strong></p>
<p>进入U-BOOT</p>
<p>VGA显示：</p>
<p>#setenv dvimode <a href="mailto:1024x768MR-16@60">1024x768MR-16@60</a></p>
<p>#setenv defaultdisplay dvi</p>
<p>#saveenv</p>
<p>#boot</p>
<p>LCD显示：</p>
<p>#setenv dvimode</p>
<p>#setenv defaultdisplay lcd070</p>
<p>#saveenv</p>
<p>#boot</p>
<p><strong>从NAND Flash启动核心</strong></p>
<p>有两种启动方式，一个是SD卡，一个是nandflash。</p>
<p>SD卡有两个分区，一个FAT32，一个是EXT3。</p>
<p>MLO,u-boot.bin,uImage，ubi.img镜像是放在FAT32分区，root.tar.bz2,文件系统解压放在EXT3分区。</p>
<p>SD卡启动，只要把MLO,u-boot.bin,uImage镜像是放在FAT32分区，root.tar.bz2,文件系统解压放在EXT3分区。就可以启动系统了。</p>
<p>nandflash启动，只要把MLO,u-boot.bin,uImage，ubi.img镜像是放在FAT32分区，然后进入到U-BOOT里，用烧写命令把这四个烧写在nandflash就可以启动系统了。</p>
<p><strong>安装GCC</strong></p>
<p>#opkg update</p>
<p>#opkg install gcc</p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;</p>
<p><strong>集成ARM嵌入式JVM</strong></p>
<p>SCB3530开发板Angstrom系统</p>
<p>首先安装cacao嵌入式虚拟机</p>
<p>#opkg install cacao</p>
<p><strong>安装GNU classpath</strong></p>
<p>#opkg install classpath</p>
<p><strong>安装GTK支持awt,swing</strong></p>
<p>#opkg install classpath-awt</p>
<p>#export DISPLAY=<em>127.0.0.1:0.0</em></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.oipop.com/archives/96/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Android permission 访问权限大全</title>
		<link>http://blog.oipop.com/archives/150</link>
		<comments>http://blog.oipop.com/archives/150#comments</comments>
		<pubDate>Tue, 25 May 2010 04:03:32 +0000</pubDate>
		<dc:creator>Kinsta</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[JAVA开发]]></category>
		<category><![CDATA[手机编程]]></category>

		<guid isPermaLink="false">http://blog.oipop.com/?p=150</guid>
		<description><![CDATA[　　程序执行需要读取到安全敏感项必需在androidmanifest.xml中声明相关权限请求, 完整列表如下: 　　android.permission.ACCESS_CHECKIN_PROPERTIES 　　允许读写访问”properties”表在 checkin数据库中，改值可以修改上传( Allows read/write access to the “properties” table in the checkin database, to change values that get uploaded) 　　android.permission.ACCESS_COARSE_LOCATION 　　允许一个程序访问CellID或WiFi热点来获取粗略的位置(Allows an application to access coarse (e.g., Cell-ID, WiFi) location) 　　android.permission.ACCESS_FINE_LOCATION 　　允许一个程序访问精良位置(如GPS) (Allows an application to access fine (e.g., GPS) location) 　　android.permission.ACCESS_LOCATION_EXTRA_COMMANDS 　　允许应用程序访问额外的位置提供命令(Allows an application to access extra location provider commands) 　　android.permission.ACCESS_MOCK_LOCATION [...]]]></description>
			<content:encoded><![CDATA[<p>　　程序执行需要读取到安全敏感项必需在androidmanifest.xml中声明相关权限请求, 完整列表如下:</p>
<p>　　android.permission.ACCESS_CHECKIN_PROPERTIES</p>
<p>　　允许读写访问”properties”表在 checkin数据库中，改值可以修改上传( Allows read/write access to the “properties” table in the checkin database, to change values that get uploaded)</p>
<p>　　android.permission.ACCESS_COARSE_LOCATION<span id="more-150"></span></p>
<p>　　允许一个程序访问CellID或WiFi热点来获取粗略的位置(Allows an application to access coarse (e.g., Cell-ID, WiFi) location)</p>
<p>　　android.permission.ACCESS_FINE_LOCATION</p>
<p>　　允许一个程序访问精良位置(如GPS) (Allows an application to access fine (e.g., GPS) location)</p>
<p>　　android.permission.ACCESS_LOCATION_EXTRA_COMMANDS</p>
<p>　　允许应用程序访问额外的位置提供命令(Allows an application to access extra location provider commands)</p>
<p>　　android.permission.ACCESS_MOCK_LOCATION</p>
<p>　　允许程序创建模拟位置提供用于测试(Allows an application to create mock location providers for testing)</p>
<p>　　android.permission.ACCESS_NETWORK_STATE</p>
<p>　　允许程序访问有关GSM网络信息(Allows applications to access information about networks)</p>
<p>　　android.permission.ACCESS_SURFACE_FLINGER</p>
<p>　　允许程序使用SurfaceFlinger底层特性 (Allows an application to use SurfaceFlinger’s low level features)</p>
<p>　　android.permission.ACCESS_WIFI_STATE</p>
<p>　　允许程序访问Wi-Fi网络状态信息(Allows applications to access information about Wi-Fi networks)</p>
<p>　　android.permission.ADD_SYSTEM_SERVICE</p>
<p>　　允许程序发布系统级服务(Allows an application to publish system-level services).</p>
<p>　　android.permission.BATTERY_STATS</p>
<p>　　允许程序更新手机电池统计信息(Allows an application to update the collected battery statistics)</p>
<p>　　android.permission.BLUETOOTH</p>
<p>　　允许程序连接到已配对的蓝牙设备(Allows applications to connect to paired bluetooth devices)</p>
<p>　　android.permission.BLUETOOTH_ADMIN</p>
<p>　　允许程序发现和配对蓝牙设备(Allows applications to discover and pair bluetooth devices)</p>
<p>　　android.permission.BRICK</p>
<p>　　请求能够禁用设备(非常危险)(Required to be able to disable the device (very *erous!).)</p>
<p>　　android.permission.BROADCAST_PACKAGE_REMOVED</p>
<p>　　允许程序广播一个提示消息在一个应用程序包已经移除后(Allows an application to broadcast a notification that an application package has been removed)</p>
<p>　　android.permission.BROADCAST_STICKY</p>
<p>　　允许一个程序广播常用intents(Allows an application to broadcast sticky intents)</p>
<p>　　android.permission.CALL_PHONE</p>
<p>　　允许一个程序初始化一个电话拨号不需通过拨号用户界面需要用户确认 (Allows an application to initiate a phone call without going through the Dialer user interface for the user to confirm the call being placed.)</p>
<p>　　android.permission.CALL_PRIVILEGED</p>
<p>　　允许一个程序拨打任何号码，包含紧急号码无需通过拨号用户界面需要用户确认(Allows an application to call any phone number, including emergency numbers, without going through the Dialer user interface for the user to confirm the call being placed)</p>
<p>　　android.permission.CAMERA</p>
<p>　　请求访问使用照相设备(Required to be able to access the camera device. )</p>
<p>　　android.permission.CHANGE_COMPONENT_ENABLED_STATE</p>
<p>　　允许一个程序是否改变一个组件或其他的启用或禁用(Allows an application to change whether an application component (other than its own) is enabled or not. )</p>
<p>　　android.permission.CHANGE_CONFIGURATION</p>
<p>　　允许一个程序修改当前设置，如本地化(Allows an application to modify the current configuration, such as locale. )</p>
<p>　　android.permission.CHANGE_NETWORK_STATE</p>
<p>　　允许程序改变网络连接状态(Allows applications to change network connectivity state)</p>
<p>　　android.permission.CHANGE_WIFI_STATE</p>
<p>　　允许程序改变Wi-Fi连接状态(Allows applications to change Wi-Fi connectivity state)</p>
<p>　　android.permission.CLEAR_APP_CACHE</p>
<p>　　允许一个程序清楚缓存从所有安装的程序在设备中(Allows an application to clear the caches of all installed applications on the device. )</p>
<p>　　android.permission.CLEAR_APP_USER_DATA</p>
<p>　　允许一个程序清除用户设置(Allows an application to clear user data)</p>
<p>　　android.permission.CONTROL_LOCATION_UPDATES</p>
<p>　　允许启用禁止位置更新提示从无线模块 (Allows enabling/disabling location update notifications from the radio. )</p>
<p>　　android.permission.DELETE_CACHE_FILES</p>
<p>　　允许程序删除缓存文件(Allows an application to delete cache files)</p>
<p>　　android.permission.DELETE_PACKAGES</p>
<p>　　允许一个程序删除包(Allows an application to delete packages)</p>
<p>　　android.permission.DEVICE_POWER</p>
<p>　　允许访问底层电源管理(Allows low-level access to power management)</p>
<p>　　android.permission.DIAGNOSTIC</p>
<p>　　允许程序RW诊断资源(Allows applications to RW to diagnostic resources. )</p>
<p>　　android.permission.DISABLE_KEYGUARD</p>
<p>　　允许程序禁用键盘锁(Allows applications to disable the keyguard )</p>
<p>　　android.permission.DUMP</p>
<p>　　允许程序返回状态抓取信息从系统服务(Allows an application to retrieve state dump information from system services.)</p>
<p>　　android.permission.EXPAND_STATUS_BAR</p>
<p>　　允许一个程序扩展收缩在状态栏,android开发网提示应该是一个类似Windows Mobile中的托盘程序(Allows an application to expand or collapse the status bar. )</p>
<p>　　android.permission.FACTORY_TEST</p>
<p>　　作为一个工厂测试程序，运行在root用户(Run as a manufacturer test application, running as the root user. )</p>
<p>　　android.permission.FLASHLIGHT</p>
<p>　　访问闪光灯,android开发网提示HTC Dream不包含闪光灯(Allows access to the flashlight )</p>
<p>　　android.permission.FORCE_BACK</p>
<p>　　允许程序强行一个后退操作是否在顶层activities(Allows an application to force a BACK operation on whatever is the top activity. )</p>
<p>　　android.permission.FOTA_UPDATE</p>
<p>　　暂时不了解这是做什么使用的，android开发网分析可能是一个预留权限.</p>
<p>　　android.permission.GET_ACCOUNTS</p>
<p>　　访问一个帐户列表在Accounts Service中(Allows access to the list of accounts in the Accounts Service)</p>
<p>　　android.permission.GET_PACKAGE_SIZE</p>
<p>　　允许一个程序获取任何package占用空间容量(Allows an application to find out the space used by any package. )</p>
<p>　　android.permission.GET_TASKS</p>
<p>　　允许一个程序获取信息有关当前或最近运行的任务，一个缩略的任务状态，是否活动等等(Allows an application to get information about the currently or recently running tasks: a thumbnail representation of the tasks, what activities are running in it, etc.)</p>
<p>　　android.permission.HARDWARE_TEST</p>
<p>　　允许访问硬件(Allows access to hardware peripherals. )</p>
<p>　　android.permission.INJECT_EVENTS</p>
<p>　　允许一个程序截获用户事件如按键、触摸、轨迹球等等到一个时间流，android 开发网提醒算是hook技术吧(Allows an application to inject user events (keys, touch, trackball) into the event stream and deliver them to ANY window.)</p>
<p>　　android.permission.INSTALL_PACKAGES</p>
<p>　　允许一个程序安装packages(Allows an application to install packages. )</p>
<p>　　android.permission.INTERNAL_SYSTEM_WINDOW</p>
<p>　　允许打开窗口使用系统用户界面(Allows an application to open windows that are for use by parts of the system user interface. )</p>
<p>　　android.permission.INTERNET</p>
<p>　　允许程序打开网络套接字(Allows applications to open network sockets)</p>
<p>　　android.permission.MANAGE_APP_TOKENS</p>
<p>　　允许程序管理(创建、催后、 z- order默认向z轴推移)程序引用在窗口管理器中(Allows an application to manage (create, destroy, Z-order) application tokens in the window manager. )</p>
<p>　　android.permission.MASTER_CLEAR目前还没有明确的解释，android开发网分析可能是清除一切数据，类似硬格机</p>
<p>　　android.permission.MODIFY_AUDIO_SETTINGS</p>
<p>　　允许程序修改全局音频设置(Allows an application to modify global audio settings)</p>
<p>　　android.permission.MODIFY_PHONE_STATE</p>
<p>　　允许修改话机状态，如电源，人机接口等(Allows modification of the telephony state ? power on, mmi, etc. )</p>
<p>　　android.permission.MOUNT_UNMOUNT_FILESYSTEMS</p>
<p>　　允许挂载和反挂载文件系统可移动存储 (Allows mounting and unmounting file systems for removable storage. )</p>
<p>　　android.permission.PERSISTENT_ACTIVITY</p>
<p>　　允许一个程序设置他的activities显示 (Allow an application to make its activities persistent. )</p>
<p>　　android.permission.PROCESS_OUTGOING_CALLS</p>
<p>　　允许程序监视、修改有关播出电话(Allows an application to monitor, modify, or abort outgoing calls)</p>
<p>　　android.permission.READ_CALENDAR</p>
<p>　　允许程序读取用户日历数据(Allows an application to read the user’s calendar data.)</p>
<p>　　android.permission.READ_CONTACTS</p>
<p>　　允许程序读取用户联系人数据(Allows an application to read the user’s contacts data.)</p>
<p>　　android.permission.READ_FRAME_BUFFER</p>
<p>　　允许程序屏幕波或和更多常规的访问帧缓冲数据(Allows an application to take screen shots and more generally get access to the frame buffer data)</p>
<p>　　android.permission.READ_INPUT_STATE</p>
<p>　　允许程序返回当前按键状态(Allows an application to retrieve the current state of keys and switches. )</p>
<p>　　android.permission.READ_LOGS</p>
<p>　　允许程序读取底层系统日志文件(Allows an application to read the low-level system log files. )</p>
<p>　　android.permission.READ_OWNER_DATA</p>
<p>　　允许程序读取所有者数据(Allows an application to read the owner’s data)</p>
<p>　　android.permission.READ_SMS</p>
<p>　　允许程序读取短信息(Allows an application to read SMS messages.)</p>
<p>　　android.permission.READ_SYNC_SETTINGS</p>
<p>　　允许程序读取同步设置(Allows applications to read the sync settings)</p>
<p>　　android.permission.READ_SYNC_STATS</p>
<p>　　允许程序读取同步状态(Allows applications to read the sync stats)</p>
<p>　　android.permission.REBOOT</p>
<p>　　请求能够重新启动设备(Required to be able to reboot the device. )</p>
<p>　　android.permission.RECEIVE_BOOT_COMPLETED</p>
<p>　　允许一个程序接收到 ACTION_BOOT_COMPLETED广播在系统完成启动(Allows an application to receive the ACTION_BOOT_COMPLETED that is broadcast after the system finishes booting. )</p>
<p>　　android.permission.RECEIVE_MMS</p>
<p>　　允许一个程序监控将收到MMS彩信,记录或处理(Allows an application to monitor incoming MMS messages, to record or perform processing on them. )</p>
<p>　　android.permission.RECEIVE_SMS</p>
<p>　　允许程序监控一个将收到短信息，记录或处理(Allows an application to monitor incoming SMS messages, to record or perform processing on them.)</p>
<p>　　android.permission.RECEIVE_WAP_PUSH</p>
<p>　　允许程序监控将收到WAP PUSH信息(Allows an application to monitor incoming WAP push messages. )</p>
<p>　　android.permission.RECORD_AUDIO</p>
<p>　　允许程序录制音频(Allows an application to record audio)</p>
<p>　　android.permission.REORDER_TASKS</p>
<p>　　允许程序改变Z轴排列任务(Allows an application to change the Z-order of tasks)</p>
<p>　　android.permission.RESTART_PACKAGES</p>
<p>　　允许程序重新启动其他程序(Allows an application to restart other applications)</p>
<p>　　android.permission.SEND_SMS</p>
<p>　　允许程序发送SMS短信(Allows an application to send SMS messages)</p>
<p>　　android.permission.SET_ACTIVITY_WATCHER</p>
<p>　　允许程序监控或控制activities已经启动全局系统中Allows an application to watch and control how activities are started globally in the system.</p>
<p>　　android.permission.SET_ALWAYS_FINISH</p>
<p>　　允许程序控制是否活动间接完成在处于后台时Allows an application to control whether activities are immediately finished when put in the background.</p>
<p>　　android.permission.SET_ANIMATION_SCALE</p>
<p>　　修改全局信息比例(Modify the global animation scaling factor.)</p>
<p>　　android.permission.SET_DEBUG_APP</p>
<p>　　配置一个程序用于调试(Configure an application for debugging.)</p>
<p>　　android.permission.SET_ORIENTATION</p>
<p>　　允许底层访问设置屏幕方向和实际旋转(Allows low-level access to setting the orientation</p>
<p>(actually rotation) of the screen.)</p>
<p>　　android.permission.SET_PREFERRED_APPLICATIONS</p>
<p>　　允许一个程序修改列表参数 PackageManager.addPackageToPreferred() 和PackageManager.removePackageFromPreferred()方法(Allows an application to modify the list of preferred applications with the PackageManager.addPackageToPreferred() and PackageManager.removePackageFromPreferred() methods.)</p>
<p>　　android.permission.SET_PROCESS_FOREGROUND</p>
<p>　　允许程序当前运行程序强行到前台(Allows an application to force any currently running process to be in the foreground.)</p>
<p>　　android.permission.SET_PROCESS_LIMIT</p>
<p>　　允许设置最大的运行进程数量(Allows an application to set the maximum number of (not needed) application processes that can be running. )</p>
<p>　　android.permission.SET_TIME_ZONE</p>
<p>　　允许程序设置时间区域(Allows applications to set the system time zone)</p>
<p>　　android.permission.SET_WALLPAPER</p>
<p>　　允许程序设置壁纸(Allows applications to set the wallpaper )</p>
<p>　　android.permission.SET_WALLPAPER_HINTS</p>
<p>　　允许程序设置壁纸hits(Allows applications to set the wallpaper hints)</p>
<p>　　android.permission.SIGNAL_PERSISTENT_PROCESSES</p>
<p>　　允许程序请求发送信号到所有显示的进程中 (Allow an application to request that a signal be sent to all persistent processes)</p>
<p>　　android.permission.STATUS_BAR</p>
<p>　　允许程序打开、关闭或禁用状态栏及图标Allows an application to open, close, or disable the status bar and its icons.</p>
<p>　　android.permission.SUBSCRIBED_FEEDS_READ</p>
<p>　　允许一个程序访问订阅RSS Feed内容提供(Allows an application to allow access the subscribed feeds ContentProvider. )</p>
<p>　　android.permission.SUBSCRIBED_FEEDS_WRITE</p>
<p>　　系统暂时保留改设置,android开发网认为未来版本会加入该功能。</p>
<p>　　android.permission.SYSTEM_ALERT_WINDOW</p>
<p>　　允许一个程序打开窗口使用 TYPE_SYSTEM_ALERT，显示在其他所有程序的顶层(Allows an application to open</p>
<p>windows using the type TYPE_SYSTEM_ALERT, shown on top of all other applications. )</p>
<p>　　android.permission.VIBRATE</p>
<p>　　允许访问振动设备(Allows access to the vibrator)</p>
<p>　　android.permission.WAKE_LOCK</p>
<p>　　允许使用PowerManager的 WakeLocks保持进程在休眠时从屏幕消失( Allows using PowerManager WakeLocks to keep processor from sleeping or screen from dimming)</p>
<p>　　android.permission.WRITE_APN_SETTINGS</p>
<p>　　允许程序写入API设置(Allows applications to write the apn settings)</p>
<p>　　android.permission.WRITE_CALENDAR</p>
<p>　　允许一个程序写入但不读取用户日历数据(Allows an application to write (but not read) the user’s calendar data. )</p>
<p>　　android.permission.WRITE_CONTACTS</p>
<p>　　允许程序写入但不读取用户联系人数据(Allows an application to write (but not read) the user’s contacts data. )</p>
<p>　　android.permission.WRITE_GSERVICES</p>
<p>　　允许程序修改Google服务地图(Allows an application to modify the Google service map. )</p>
<p>　　android.permission.WRITE_OWNER_DATA</p>
<p>　　允许一个程序写入但不读取所有者数据(Allows an application to write (but not read) the owner’s data.)</p>
<p>　　android.permission.WRITE_SETTINGS</p>
<p>　　允许程序读取或写入系统设置(Allows an application to read or write the system settings. )</p>
<p>　　android.permission.WRITE_SMS</p>
<p>　　允许程序写短信(Allows an application to write SMS messages)</p>
<p>　　android.permission.WRITE_SYNC_SETTINGS</p>
<p>　　允许程序写入同步设置(Allows applications to write the sync settings)</p>
<p>　　android平台上的权限许可分得很细，如果软件无法正常执行时看看是不是缺少相关的permission声明，最终我们还需要使用 android sign tools签名生成的apk文件。</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.oipop.com/archives/150/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>android的一些操作记录</title>
		<link>http://blog.oipop.com/archives/130</link>
		<comments>http://blog.oipop.com/archives/130#comments</comments>
		<pubDate>Mon, 24 May 2010 10:15:13 +0000</pubDate>
		<dc:creator>Kinsta</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[JAVA开发]]></category>

		<guid isPermaLink="false">http://blog.oipop.com/?p=130</guid>
		<description><![CDATA[public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); Button button = (Button)findViewById(R.id.hight); button.setOnClickListener(calc); final String items[] = {"item1","item2","item3","item3","item3","item3","item3", "item3","item3","item3","item3","item3","item3"};   AlertDialog.Builder ab=new AlertDialog.Builder(this);   ab.setTitle("请选择要执行的操作：");   ab.setSingleChoiceItems(items, 0,new DialogInterface.OnClickListener() {   public void onClick(DialogInterface dialog, int whichButton) { EditText edit = (EditText)findViewById(R.id.edit); // onClick Action   //对象选择确定获取whichButton值 edit.setText(new Integer(whichButton).toString()); }   })   .setPositiveButton("确认", new DialogInterface.OnClickListener() [...]]]></description>
			<content:encoded><![CDATA[<pre class="brush: java">public void onCreate(Bundle savedInstanceState) {
 super.onCreate(savedInstanceState);
 setContentView(R.layout.main);
 Button button = (Button)findViewById(R.id.hight);
 button.setOnClickListener(calc);
 final String items[] = {"item1","item2","item3","item3","item3","item3","item3",
"item3","item3","item3","item3","item3","item3"};  
 AlertDialog.Builder ab=new AlertDialog.Builder(this);  
 ab.setTitle("请选择要执行的操作：");  
 ab.setSingleChoiceItems(items, 0,new DialogInterface.OnClickListener() {  
 public void onClick(DialogInterface dialog, int whichButton) {
 EditText edit = (EditText)findViewById(R.id.edit);
 // onClick Action  
 //对象选择确定获取whichButton值
 edit.setText(new Integer(whichButton).toString());

 }  
 })  

 .setPositiveButton("确认", new DialogInterface.OnClickListener() {
 EditText edit = (EditText)findViewById(R.id.edit);
 public void onClick(DialogInterface dialog, int whichButton) {  
 // on Ok button action  
 edit.setText("0");
 }  
 })  
 .setNegativeButton("取消", new DialogInterface.OnClickListener() {  
 public void onClick(DialogInterface dialog, int whichButton) {  
 // on cancel button action  
 }  

 });  

 ab.show();          
 }

 public boolean onCreateOptionsMenu(Menu menu) {
 super.onCreateOptionsMenu(menu);
 menu.add(0, 0, 0, "A");
 menu.add(0, 0, 1, "B");
 menu.add(0, 0, 0, "C");
 menu.add(0, 0, 1, "D");
 menu.add(0, 0, 0, "E");
 menu.add(0, 0, 1, "F");
 menu.add(0, 0, 0, "G");
 menu.add(0, 0, 1, "H");
 menu.add(0, 0, 0, "I");
 menu.add(0, 0, 1, "J");
 menu.add(0, 0, 0, "K");
 menu.add(0, 0, 1, "L");
 menu.add(0, 0, 0, "M");
 menu.add(0, 0, 1, "N");       
 menu.add(1, 1, 0, "O");
 menu.add(1, 1, 0, "P");
 menu.add(1, 1, 0, "Q");
 menu.add(1, 1, 0, "R");
 menu.add(1, 1, 0, "S");
 menu.add(1, 1, 0, "T");
 menu.add(1, 1, 0, "U");
 menu.add(1, 1, 0, "V");
 menu.add(1, 1, 0, "");       
//       menu.add(0, 1, "菜单项二");
//       menu.add(0, 2, "菜单项三");
 return true;
 }
}</pre>
]]></content:encoded>
			<wfw:commentRss>http://blog.oipop.com/archives/130/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>linux串口调试窍门</title>
		<link>http://blog.oipop.com/archives/123</link>
		<comments>http://blog.oipop.com/archives/123#comments</comments>
		<pubDate>Fri, 30 Apr 2010 02:38:49 +0000</pubDate>
		<dc:creator>Kinsta</dc:creator>
				<category><![CDATA[linux系统]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[串口]]></category>
		<category><![CDATA[串口调试]]></category>

		<guid isPermaLink="false">http://blog.oipop.com/?p=123</guid>
		<description><![CDATA[把2个串口用交叉线连起来 假设两个串口分别为/dev/ttyS0和/dev/ttyS1 则可以直接在一个shell执行cat /dev/ttyS0 然后在另外一个shell 执行echo “test.” &#62;/dev/ttyS1 如果两个串口都是好的，则执行cat /dev/ttyS0会输出&#8217;test.” 如果不行则可用cat /proc/interrupts看一下是否产生了中断，也可用setserial查看串口设置。]]></description>
			<content:encoded><![CDATA[<p>把2个串口用交叉线连起来</p>
<p>假设两个串口分别为/dev/ttyS0和/dev/ttyS1</p>
<p>则可以直接在一个shell执行cat /dev/ttyS0</p>
<p>然后在另外一个shell 执行echo “test.” &gt;/dev/ttyS1</p>
<p>如果两个串口都是好的，则执行cat /dev/ttyS0会输出&#8217;test.”</p>
<p>如果不行则可用cat /proc/interrupts看一下是否产生了中断，也可用setserial查看串口设置。</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.oipop.com/archives/123/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>VB6.0操作XML文件</title>
		<link>http://blog.oipop.com/archives/119</link>
		<comments>http://blog.oipop.com/archives/119#comments</comments>
		<pubDate>Wed, 07 Apr 2010 06:05:20 +0000</pubDate>
		<dc:creator>Kinsta</dc:creator>
				<category><![CDATA[Visual Basic]]></category>
		<category><![CDATA[XML]]></category>

		<guid isPermaLink="false">http://blog.oipop.com/?p=119</guid>
		<description><![CDATA[XML文件如下: &#60;?xml version=”1.0&#8243; encoding=”gb2312&#8243;?&#62; &#60;testlist&#62; &#60;test&#62;   &#60;id&#62;1&#60;/id&#62;   &#60;name&#62;自由飞翔&#60;/name&#62;   &#60;time&#62;2007-12-7&#60;/time&#62; &#60;/test&#62; &#60;test&#62;   &#60;id&#62;2&#60;/id&#62;   &#60;name&#62;自由&#60;/name&#62;   &#60;time&#62;2007-12-7&#60;/time&#62; &#60;/test&#62; &#60;/testlist&#62; 以下是VB6.0的代码: &#8216;工程-&#62;引用-&#62;Mircosoft XML6.0 Dim XMLDoc As DOMDocument Dim root As IXMLDOMNode Dim xlst As IXMLDOMNodeList, xlst1 As IXMLDOMNodeList Dim xn As IXMLDOMNode Dim xnf As IXMLDOMNode Dim xe As IXMLDOMElement Set XMLDoc = [...]]]></description>
			<content:encoded><![CDATA[<div>XML文件如下:</div>
<p>&lt;?xml version=”1.0&#8243; encoding=”gb2312&#8243;?&gt;<br />
&lt;testlist&gt;<br />
&lt;test&gt;<br />
  &lt;id&gt;1&lt;/id&gt;<br />
  &lt;name&gt;自由飞翔&lt;/name&gt;<br />
  &lt;time&gt;2007-12-7&lt;/time&gt;<br />
&lt;/test&gt;</p>
<p>&lt;test&gt;<br />
  &lt;id&gt;2&lt;/id&gt;<br />
  &lt;name&gt;自由&lt;/name&gt;<br />
  &lt;time&gt;2007-12-7&lt;/time&gt;<br />
&lt;/test&gt;<br />
&lt;/testlist&gt;</p>
<p>以下是VB6.0的代码:</p>
<p><span id="more-119"></span></p>
<p>&#8216;工程-&gt;引用-&gt;Mircosoft XML6.0</p>
<p>Dim XMLDoc As DOMDocument<br />
Dim root As IXMLDOMNode</p>
<p>Dim xlst As IXMLDOMNodeList, xlst1 As IXMLDOMNodeList<br />
Dim xn As IXMLDOMNode<br />
Dim xnf As IXMLDOMNode<br />
Dim xe As IXMLDOMElement</p>
<p>Set XMLDoc = New DOMDocument</p>
<p>XMLDoc.Load “F:\example\test.xml”  &#8216;xml文件路径根据存放路径不同而不同!</p>
<p>Set xn = XMLDoc.selectSingleNode(“testlist”)</p>
<p>&#8216;以下为读取xml文件内容,这里用ListView控件显示<br />
Set xlst = xn.childNodes<br />
ListView1.ListItems.Clear<br />
For Each xnf In xlst<br />
        Set xe = xnf<br />
        Set xlst1 = xe.childNodes<br />
        With ListView1.ListItems.Add(, , xlst1.Item(0).Text)<br />
            .SubItems(1) = xlst1.Item(1).Text<br />
            .SubItems(2) = xlst1.Item(2).Text<br />
        End With<br />
Next</p>
<p>&#8216;以下是插入一个节点(这里插入一个id=3,name=飞翔,time=date 的节点)</p>
<p>Dim XMLId As IXMLDOMElement<br />
Dim XMLName As IXMLDOMElement<br />
Dim XMLTime As IXMLDOMElement</p>
<p>Dim returnValue As IXMLDOMNode</p>
<p>Set xe = XMLDoc.createElement(“test”) &#8216;创建一个&lt;test&gt;节点<br />
Set XMLId = XMLDoc.createElement(“id”)</p>
<p>XMLId.Text = 3</p>
<p>Set returnValue = xe.appendChild(XMLId)</p>
<p>Set XMLName = XMLDoc.createElement(“name”)</p>
<p>XMLName.Text = “飞翔”</p>
<p>Set returnValue = xe.appendChild(XMLName)</p>
<p>Set XMLTime = XMLDoc.createElement(“time”)</p>
<p>XMLTime.Text = Date</p>
<p>Set returnValue = xe.appendChild(XMLTime)</p>
<p>Set returnValue = xn.appendChild(xe) &#8216;添加到&lt;testlist&gt;节点中</p>
<p>XMLDoc.Save “F:\example\test.xml”</p>
<p>&#8216;删除XML中id=2的节点</p>
<p>Set xlst = XMLDoc.SelectSingleNode(“testlist”).ChildNodes</p>
<p>For Each xnf In xlst<br />
        Set xe = xnf<br />
        If xe.childNodes(0).Text = “2&#8243; Then<br />
            xn.removeChild xe<br />
        End If</p>
<p>Next xnf</p>
<p>XMLDoc.Save  “F:\example\test.xml”</p>
<p><script type="text/javascript">// <![CDATA[
google_ad_client = "pub-4348265167276910";
/* 468x60, 个人博客 */
google_ad_slot = "2046406163";
google_ad_width = 468;
google_ad_height = 60;
// ]]&gt;</script><script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript"></script><script type="text/javascript">// <![CDATA[
google_protectAndRun("ads_core.google_render_ad", google_handleError, google_render_ad);
// ]]&gt;</script></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.oipop.com/archives/119/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ubuntu下Opera 10 字体大小不一解决方法</title>
		<link>http://blog.oipop.com/archives/117</link>
		<comments>http://blog.oipop.com/archives/117#comments</comments>
		<pubDate>Wed, 17 Mar 2010 17:55:19 +0000</pubDate>
		<dc:creator>Kinsta</dc:creator>
				<category><![CDATA[linux系统]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://blog.oipop.com/?p=117</guid>
		<description><![CDATA[sudo gedit /etc/fonts/conf.d/49-sansserif.conf 找到倒数第4行的 sans-serif 替换为文泉驿正黑，即可解决。 &#60;string&#62;文泉驿正黑&#60;/string&#62;]]></description>
			<content:encoded><![CDATA[<p>sudo gedit /etc/fonts/conf.d/49-sansserif.conf</p>
<p>找到倒数第4行的 sans-serif 替换为文泉驿正黑，即可解决。</p>
<p>&lt;string&gt;文泉驿正黑&lt;/string&gt;</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.oipop.com/archives/117/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Linux网络基本网络配置方法介绍</title>
		<link>http://blog.oipop.com/archives/105</link>
		<comments>http://blog.oipop.com/archives/105#comments</comments>
		<pubDate>Mon, 08 Mar 2010 14:25:01 +0000</pubDate>
		<dc:creator>Kinsta</dc:creator>
				<category><![CDATA[linux系统]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[操作系统]]></category>

		<guid isPermaLink="false">http://blog.oipop.com/?p=105</guid>
		<description><![CDATA[网络信息查看 查看网路接口信息 1．了解linux中的网络接口设备 $/sbin/ifconfig 查看所有活动网络接口信息，其中包括一个lo环回端口。 2．查看指定网络接口的信息 $/sbin/ifconfig &#60;网络接口名称&#62; 查看指定接口信息。 3．查看系统中所有网络接口的信息 $/sbin/ifconfig –a 查看所有接口信息，包括非活动状态接口。 注：普通用户查看网络接口信息时，需要在命令前加“/sbin”，而管理员却不用。这是由于命令搜索路径的原因，可以通过“$echo $PATH”查看。 查看网关地址和路由信息 1、查看主机路由信息 #/route 显示当前linux主机中的路由表信息。 #/route ｜grep default 在route命令的显示结果中以“default”开始的行显示了，主机的默认网关地址，将route命令和grep命令组合，使用过滤route命令的显示结果只显示默认网关地址。 2.测试与其它主机的网络链接 $ping 目的主机地址 使用ping命令测试与其它主机的网络链接。ctrl+C终止。 $ping –c &#60;测试数据包数量&#62; &#60;目的主机地址&#62; 使用ping命令发送指定数量的数据包进行网络链接测试。 $使用ping命令进行网络链接测试的技巧。 注：当ping命令测试不成功时并不能判断当前主机到目标主机的连接是断开的，因为有很多因素，（如网络防火墙等）可以导致网络连接正常时主机之间无法ping通。 3、测试与其它主机的网络链接路径 $traceroute &#60;目的主机地址&#62; traceroute命令显示当前主机与目的主机之间经过的所，有网络节点的地址，以及当前主机到每个中间结点的连接状态。 查看主机名称信息 1、查看当前主机名称 $Hostname 查看当前的主机名。 2、使用dns服务器查询域名 $Nslookup 交互模式：通常用于对DNS服务器进行测试 直接模式：用于查询某个域名对应的ip地址 使用网络命令进行网络设置 网络设置的方法 1、DHCP网络配置 $Dhclient 使用dhclient命令可以从DHCP服务器中申请新的网络配置应用到当前主机。 注：DHCP服务器通常提供给DHCP客户端最基本的网络配置信息，包括：接口ip地址，默认网关，DNS 服务器地址。 2、手工网络配置 网络接口ip地址和子网掩码 [...]]]></description>
			<content:encoded><![CDATA[<p>网络信息查看</p>
<p>查看网路接口信息</p>
<p>1．了解linux中的网络接口设备</p>
<p>$/sbin/ifconfig 查看所有活动网络接口信息，其中包括一个lo环回端口。</p>
<p>2．查看指定网络接口的信息</p>
<p>$/sbin/ifconfig &lt;网络接口名称&gt; 查看指定接口信息。</p>
<p>3．查看系统中所有网络接口的信息</p>
<p>$/sbin/ifconfig –a 查看所有接口信息，包括非活动状态接口。</p>
<p>注：普通用户查看网络接口信息时，需要在命令前加“/sbin”，而管理员却不用。这是由于命令搜索路径的原因，可以通过“$echo $PATH”查看。</p>
<p>查看网关地址和路由信息</p>
<p><span id="more-105"></span></p>
<p>1、查看主机路由信息</p>
<p>#/route</p>
<p>显示当前linux主机中的路由表信息。</p>
<p>#/route ｜grep default</p>
<p>在route命令的显示结果中以“default”开始的行显示了，主机的默认网关地址，将route命令和grep命令组合，使用过滤route命令的显示结果只显示默认网关地址。</p>
<p>2.测试与其它主机的网络链接</p>
<p>$ping 目的主机地址</p>
<p>使用ping命令测试与其它主机的网络链接。ctrl+C终止。</p>
<p>$ping –c &lt;测试数据包数量&gt; &lt;目的主机地址&gt;</p>
<p>使用ping命令发送指定数量的数据包进行网络链接测试。</p>
<p>$使用ping命令进行网络链接测试的技巧。</p>
<p>注：当ping命令测试不成功时并不能判断当前主机到目标主机的连接是断开的，因为有很多因素，（如网络防火墙等）可以导致网络连接正常时主机之间无法ping通。</p>
<p>3、测试与其它主机的网络链接路径</p>
<p>$traceroute &lt;目的主机地址&gt;</p>
<p>traceroute命令显示当前主机与目的主机之间经过的所，有网络节点的地址，以及当前主机到每个中间结点的连接状态。</p>
<p>查看主机名称信息</p>
<p>1、查看当前主机名称</p>
<p>$Hostname 查看当前的主机名。</p>
<p>2、使用dns服务器查询域名</p>
<p>$Nslookup</p>
<p>交互模式：通常用于对DNS服务器进行测试</p>
<p>直接模式：用于查询某个域名对应的ip地址</p>
<p>使用网络命令进行网络设置</p>
<p>网络设置的方法</p>
<p>1、DHCP网络配置</p>
<p>$Dhclient 使用dhclient命令可以从DHCP服务器中申请新的网络配置应用到当前主机。</p>
<p>注：DHCP服务器通常提供给DHCP客户端最基本的网络配置信息，包括：接口ip地址，默认网关，DNS</p>
<p>服务器地址。</p>
<p>2、手工网络配置</p>
<p>网络接口ip地址和子网掩码</p>
<p>默认网关地址</p>
<p>当前主机名称</p>
<p>DNS服务器地址</p>
<p>Ip地址配置命令</p>
<p>Ifconfig &lt;网络接口名称&gt; network &lt;子网掩码&gt;</p>
<p>例：# ifconfig eth0 192.168.1.222 netmask 255.255.255.0</p>
<p>注：手工配置linux网络只限于临时使用，配置不保存。</p>
<p>扩展：# ifconfig eth0:1 10.0.0.1 netmask 255.0.0.0 一块网卡配置多个子ip地址。</p>
<p># ifconfig eth0 hw ether MAC地址 修改网卡的mac地址，<br />
路由配置命令</p>
<p>1、删除默认网关路由</p>
<p>$Route del default gw &lt;默认网关地址&gt;</p>
<p>2、添加默认网关路由</p>
<p>$Route add default gw &lt;默认网关地址&gt;</p>
<p>例：#route add default gw 192.168.1.1</p>
<p>主机名称配置命令</p>
<p># hostname 123</p>
<p>将主机暂时名称改为123。</p>
<p>DNS域名解析</p>
<p>Nslookup</p>
<p>&gt;server</p>
<p>显示linux系统中使用的DNS服务器地址，也可临时设置生效。</p>
<p>修改配置文件进行网络设置</p>
<p>使用工具进行网络设置</p>
<p># Netconfig 图形界面设置网络，重启network后生效。</p>
<p>界面中需要填写的内容：</p>
<p>主机网络接口的ip地址。</p>
<p>网络接口的子网掩码。</p>
<p>默认网关地址。</p>
<p>主DNS服务器的ip地址。</p>
<p>网络服务启动脚本</p>
<p>/etc/init.d/network 从新启动才能生效</p>
<p>扩展：# /etc/rc.d/init.d/network start 启动network</p>
<p># /etc/rc.d/init.d/network stop 停止network</p>
<p># /etc/rc.d/init.d/network restart 重启network</p>
<p>网络接口配置文件</p>
<p>/etc/sysconfig/network-scripts/ifconfg-*</p>
<p>DEVICE=eth0 网卡编号</p>
<p>ONBOOT=yes 开机时是否启动网卡。</p>
<p>BOOTPROTO=static 静态ip或者DHCP动态获取。</p>
<p>IPADDR=192.168.1.163 ip</p>
<p>NETMASK=255.255.255.0 掩码</p>
<p>GATEWAY=192.168.1.1 网关</p>
<p>以下为动态获取方式：</p>
<p>DEVICE=eth0</p>
<p>ONBOOT=yes</p>
<p>BOOTPROTO=dhcp</p>
<p>停止和启动指定的网络接口</p>
<p>单个网络接口的配置进行修改后</p>
<p>Ifdown 网络接口名称 停止某个网络接口。</p>
<p>Ifup 网络接口名称 开启某个网络接口。</p>
<p>注：单个网络接口的配置文件进行修改后，不必每次都从新启动network服务使配置文件生效，可用以上命令。</p>
<p>扩展：对网络接口操作：</p>
<p># ifconfig eth0 down 停止eth0接口</p>
<p># ifconfig eth0 up 开启eth0接口</p>
<p>可以连续使用</p>
<p>Ifdown eth0 ; ifup eth0</p>
<p>主机名称配置文件</p>
<p>/etc/sysconfig/network</p>
<p>例：# vi /etc/sysconfig/network 使用vi编辑器打开主机名配置文件。</p>
<p>NETWORKING=yes 网络是否可用。</p>
<p>HOSTNAME=xxxx xxxx为新设置的主机名。</p>
<p>本地主机名称解析文件</p>
<p>/etc/hosts</p>
<p>Hosts 和 DNS具有类似的主机名称解析功能</p>
<p>域名服务器配置文件</p>
<p>/etc/resolv.conf</p>
<p>最多可以设置3行，前面的生效。</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.oipop.com/archives/105/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>解决VS2008程序独立运行问题</title>
		<link>http://blog.oipop.com/archives/94</link>
		<comments>http://blog.oipop.com/archives/94#comments</comments>
		<pubDate>Fri, 29 Jan 2010 06:24:02 +0000</pubDate>
		<dc:creator>Kinsta</dc:creator>
				<category><![CDATA[VC++]]></category>
		<category><![CDATA[微软的东东]]></category>
		<category><![CDATA[VS2008]]></category>
		<category><![CDATA[编程]]></category>

		<guid isPermaLink="false">http://blog.oipop.com/?p=94</guid>
		<description><![CDATA[许多刚接触 VS2008 的程序员，编写应用程序会遇到这种情况，即在开发用的机器上可以正常运行，但是换了没装VS2008的机器，你写的程序就有可能运行不了了。其实当初我也是遇到这个问题，但是对于MFC程序来说，如果采用MFC静态链接发布，那么这个问题将会被简单解决。但是如果换了Win32项目，情况就不同了，因为它没有使用MFC，但是编译出来的程序，同样无法独立运行。这个问题本人曾在网上寻找过答案，不过没有找到对题的答案。 有一天，我在研究用于使用DLL的导入库LIB的兼容性问题(VC6使用VS2008产生的库时，总会发生一些链接错误)。解决了这个菜鸟问题。 VS2008编译的Win32程序独立运行的解决方案是： 1. 保证发布的是Release版本； 2. 右键点击项目，选择“属性(Properties)”； 3. 在“C/C++ &#124; 代码生成(Code Generation) &#124; 运行时库(Runtime Library)”中选择“多线程(Muti-threaded)(/MT)”。 PS：本人曾多次听到一些人抱怨VS2008写的程序不能独立运行，说VS2008太垃圾了。其实如果你有脑子的话，你就想想，一个成功的软件集团何况是MS，怎么可能让自己的软件功能不如以前？其实问题往往来源于自己的无知。]]></description>
			<content:encoded><![CDATA[<p>许多刚接触 VS2008 的程序员，编写应用程序会遇到这种情况，即在开发用的机器上可以正常运行，但是换了没装VS2008的机器，你写的程序就有可能运行不了了。其实当初我也是遇到这个问题，但是对于MFC程序来说，如果采用MFC静态链接发布，那么这个问题将会被简单解决。但是如果换了Win32项目，情况就不同了，因为它没有使用MFC，但是编译出来的程序，同样无法独立运行。这个问题本人曾在网上寻找过答案，不过没有找到对题的答案。</p>
<p>有一天，我在研究用于使用DLL的导入库LIB的兼容性问题(VC6使用VS2008产生的库时，总会发生一些链接错误)。解决了这个菜鸟问题。</p>
<p>VS2008编译的Win32程序独立运行的解决方案是：<span id="more-94"></span><br />
1. 保证发布的是Release版本；<br />
2. 右键点击项目，选择“属性(Properties)”；<br />
3. 在“C/C++ | 代码生成(Code Generation) | 运行时库(Runtime Library)”中选择“多线程(Muti-threaded)(/MT)”。</p>
<p>PS：本人曾多次听到一些人抱怨VS2008写的程序不能独立运行，说VS2008太垃圾了。其实如果你有脑子的话，你就想想，一个成功的软件集团何况是MS，怎么可能让自己的软件功能不如以前？其实问题往往来源于自己的无知。</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.oipop.com/archives/94/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>API限制鼠标光标范围</title>
		<link>http://blog.oipop.com/archives/91</link>
		<comments>http://blog.oipop.com/archives/91#comments</comments>
		<pubDate>Tue, 19 Jan 2010 07:45:19 +0000</pubDate>
		<dc:creator>Kinsta</dc:creator>
				<category><![CDATA[Visual Basic]]></category>
		<category><![CDATA[编程]]></category>

		<guid isPermaLink="false">http://blog.oipop.com/?p=91</guid>
		<description><![CDATA[ClipCursor ClipCursorByNum Option Explicit Dim R As RECT Private Type RECT         Left As Long         Top As Long         Right As Long         Bottom As Long End Type Private Declare Function ClipCursor Lib “user32&#8243; (lpRect As RECT) As Long &#8216;lpRect-鼠标光标限制到的矩形 Private Declare Function ClipCursorByNum Lib “user32&#8243; Alias “ClipCursor” (lpRect As Long) As Long &#8216;lpRect-传0，取消鼠标光标限制 [...]]]></description>
			<content:encoded><![CDATA[<p><span style="color: #ff0000; font-size: large;"><strong><em><span style="text-decoration: underline;">ClipCursor<br />
ClipCursorByNum</span></em></strong></span></p>
<p>Option Explicit<br />
Dim R As RECT<br />
Private Type RECT<br />
        Left As Long<br />
        Top As Long<br />
        Right As Long<br />
        Bottom As Long<br />
End Type<br />
<span style="color: #0000ff;">Private Declare Function ClipCursor Lib “user32&#8243; (lpRect As RECT) As Long<br />
&#8216;lpRect-鼠标光标限制到的矩形<br />
Private Declare Function ClipCursorByNum Lib “user32&#8243; Alias “ClipCursor” (lpRect As Long) As Long<br />
&#8216;lpRect-传0，取消鼠标光标限制<br />
</span>Private Declare Function SetRect Lib “user32&#8243; (lpRect As RECT, ByVal X1 As Long, ByVal Y1 As Long, ByVal X2 As Long, ByVal Y2 As Long) As Long</p>
<p>Private Sub Form_Load() &#8216;窗体载入后，鼠标只能在窗体范围内移动<br />
SetRect R, Left / Screen.TwipsPerPixelX, Top / Screen.TwipsPerPixelY, (Left + Width) / Screen.TwipsPerPixelX, (Top + Height) / Screen.TwipsPerPixelY<br />
ClipCursor R<br />
End Sub</p>
<p>Private Sub Form_Unload(Cancel As Integer) &#8216;窗体退出时，取消鼠标光标限制范围<br />
ClipCursorByNum 0<br />
End Sub</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.oipop.com/archives/91/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>调试数据库操作记录</title>
		<link>http://blog.oipop.com/archives/82</link>
		<comments>http://blog.oipop.com/archives/82#comments</comments>
		<pubDate>Wed, 02 Dec 2009 23:34:55 +0000</pubDate>
		<dc:creator>Kinsta</dc:creator>
				<category><![CDATA[数据库操作]]></category>

		<guid isPermaLink="false">http://blog.oipop.com/?p=82</guid>
		<description><![CDATA[INSERT INTO user VALUES(&#8216;%&#8217;,'admin&#8217;,PASSWORD(&#8216;something&#8217;),&#8217;Y',&#8217;Y',&#8217;Y',&#8217;Y',&#8217;Y',&#8217;Y',&#8217;Y',&#8217;Y',&#8217;Y',&#8217;Y',&#8217;Y',&#8217;Y',&#8217;Y',&#8217;Y',&#8217;Y',&#8217;Y',&#8217;Y',&#8217;Y',&#8217;Y',&#8217;Y',&#8217;Y',&#8217;Y',&#8217;Y',&#8217;Y',&#8217;Y',&#8217;Y',&#8217;Y',&#8217;Y',”,”,”,”,0,0,0,0); 服务器放在局域网内进行测试时，数据库的访问速度还是很快。但当服务器放到外网后，数据库的访问速度就变得非常慢。 后来在网上发现解决方法,my.cnf里面添加 [mysqld] skip-name-resolve 这样速度就快了!]]></description>
			<content:encoded><![CDATA[<p>INSERT INTO user VALUES(&#8216;%&#8217;,'admin&#8217;,PASSWORD(&#8216;something&#8217;),&#8217;Y',&#8217;Y',&#8217;Y',&#8217;Y',&#8217;Y',&#8217;Y',&#8217;Y',&#8217;Y',&#8217;Y',&#8217;Y',&#8217;Y',&#8217;Y',&#8217;Y',&#8217;Y',&#8217;Y',&#8217;Y',&#8217;Y',&#8217;Y',&#8217;Y',&#8217;Y',&#8217;Y',&#8217;Y',&#8217;Y',&#8217;Y',&#8217;Y',&#8217;Y',&#8217;Y',&#8217;Y',”,”,”,”,0,0,0,0);</p>
<p>服务器放在局域网内进行测试时，数据库的访问速度还是很快。但当服务器放到外网后，数据库的访问速度就变得非常慢。</p>
<p>后来在网上发现解决方法,my.cnf里面添加</p>
<p>[mysqld]<br />
skip-name-resolve</p>
<p>这样速度就快了!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.oipop.com/archives/82/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

