亂貼小站公告欄

目前分類:Easy_run_class (7)

瀏覽方式: 標題列表 簡短摘要

下載網址:http://dl.dropbox.com/u/12113131/Install_Easy_run_class.msi

2011/10/05 v1.0.3更新:

 

  1. 將 .java 改為編譯並執行。
  2. 修改掉自動新增環境變數的 BUG。

 

2011/10/05 v1.0.3已知 BUG:

 

  1. 安裝程式在安裝前不會刪除舊版資料,使用者須先手動刪除,以免檔案仍為舊版。

 

 

其實,這個版本主要只是修bug而已...

感謝 SyneArt 幫忙,終於成功找到無法穩定找出 JDK 安裝路徑的問題所在。

另外,這個程式還額外使用了 Rapid Environment Editor 來做環境變數新增的工具。

目前這個程式只有在我自己的電腦試過...

希望徵求自願者阿XDD

不然我就只好對學弟下手了...

 

這個程式是為了 JAVA 的初學者寫的

希望能有很多人給我【我做得到的】意見阿~

好累喔~睡覺去


文章標籤

和風信使 發表在 痞客邦 留言(0) 人氣()

使用 Dev-C++所編譯出來的程式,都是32位元的

在x64的系統中,有時候會導致讀取不到想要讀取的資料

舉例:

若安裝 64 位元的 JDK,則在 Dev-C++ 讀取不到 Java 的安裝路徑

REG QUERY "hklm\SOFTWARE\JavaSoft\Java Development Kit" /v CurrentVersion  (找不到)

這時,請改用以下敘述

%windir%\Sysnative\REG QUERY "hklm\SOFTWARE\JavaSoft\Java Development Kit" /v CurrentVersion

因為在x64系統中執行32位元的程式,會自動進入 WOW64 的模式,位於 %windir%\System32 的 reg.exe (64bit) 會被重定向到 %windir%\SysWOW64 的 reg.exe (32bit)

若要在32位元的程式中強制讀取位於 %windir%\System32 的 reg.exe (64bit),則須改用 %windir%\Sysnative\


參考資料:

http://blog.csdn.net/andylin02/article/details/2679792 - 重定向
http://blog.xuite.net/y0933717246/IT/39759341 - 補充說明 SysWoW64 目錄
http://www.cnblogs.com/hsapphire/archive/2011/03/09/1978519.html - 如何通过使用 64 位版本 Windows 查看系统注册表 WOW6432Node
http://www.tipandtrick.net/2008/how-to-suppress-and-bypass-system32-file-system-redirect-to-syswow64-folder-with-sysnative/zh_TW/ - 如何制止和繞道system32文件系統重定向到SysWow64文件夾與sysnative
http://www.tipandtrick.net/2008/how-to-suppress-and-bypass-system32-file-system-redirect-to-syswow64-folder-with-sysnative/ - How to Suppress and Bypass System32 File System Redirect to SysWOW64 Folder with Sysnative

  • 什么是重定向

无论是Windows XP Professional X64 Edition、Windows Server 2003 X64 Edition还是Windows Vista X64 Edition(以下把均统称为X64系统),都引入了一项技术:文件和注册表的重定向。

之所以有这个技术,是为了将32位程序和64位程序分离开。这种在64位平台上运行32位程序的模拟器被称为WOW64。WOW64是"Windows 32 on Windows 64"的简称,它在系统层中另提供了一层,以支持老式的32位程序。

在X64系统里面,一些特殊的目录和特殊的注册表键被分为2个独立的部分。对于文件系统来说,%systemroot%/system32 目录被保留给64位文件使用,而32位文件会被重定向到%systemroot%/SysWOW64目录。换句话说,所有的32位程序一般情况下只会出现在%systemroot%/SysWOW64目录里面。任何32位程序试图访问%systemroot%/system32 目录的企图都会被重定向到%systemroot%/SysWOW64目录。这个是一个默认的行为,除非程序的线程明确的指名需要关闭这种重定向机制。

对于注册表来说,也有类似的内容。WOW64子系统也提供了对注册表访问的重定向。如果是32位程序,对注册表的操作不论是读还是写, WOW64都将会截取对HKLM/Software访问,并重定向到HKLM/Software/Wow6432Node(即32位应用程序的注册信息被写在HKLM/Software/Wow6432Node中,而不是预期的HKLM/Software中);如果是64位程序,就直接到 HKLM/Software。

  • 需要重定向的注册表项

注册表重定向,其实质就是维护两套不同的注册表键,一套用于64位,一套用于32位。受影响的键不只是上面提及的HKLM/Software,还包括:

和風信使 發表在 痞客邦 留言(0) 人氣()

終於找到在 windows 7 中替某個程式加上【以系統管理員執行此程式】的方法了!!

這樣的話,我在 Easy_run_class 中新增 PATH 應該就不會遇到什麼問題了

要新增資料到登錄檔裡面

安裝程式都可以代勞~

接下來的比較大的問題...可能就是要怎麼辦找到 JDK 的路徑了吧 (在沒有安裝在預設路徑的情況下)


本文章轉載自:http://www.sevenforums.com/tutorials/316-compatibility-mode.html

1. Open the Start Menu, then type regedit in the search box and press Enter.

2. If prompted by UAC, then click on Yes.

3. In regedit, navigate to the location below. (see screenshot below)

HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers

Compatibility Mode-reg1.jpg

4. To Run a Program in Compatibility Mode

A) In the right pane of Layers, right click on a empty area and click on New, then onString Value. (see screenshot below)

Compatibility Mode-reg2.jpg

B) Type in the full path of the program's exe file and press Enter, then right click on the full path and click on Modify. (see screenshot below)

Compatibility Mode-reg3.jpg

C) Type in a single or combination of Data values (see tables below) for how you want to run the program as, and click on OK. (see screenshot below)

NOTE: If you use more than one Settings, then you must add them in the order they are in the table below.

[Compatibility Mode (only one)] + space + [Settings (one or more with a space inbetween)] + space + [Privilege Level]

和風信使 發表在 痞客邦 留言(1) 人氣()

Rapid Environment Editor

是一款很方便更改 windows 環境變數的工具程式

(官方網站:http://www.rapidee.com )

當然 這款程式讓我看中的不是這一點

它讓我看中的是

他可以從命令列下指令更改環境變數!!

(說明文件:http://www.rapidee.com/en/command_line )

這絕對可以幫助我把 Easy_run_class 寫得更方便、更好用!!

因為我之前想讓程式自動幫忙把 JDK 的路徑放進 PATH

但是卻一直因為 windows 7 的權限問題 和 難用的 reg.exe 程式 搞得非常鬱悶

沒想到今天這個程式能有這麼方便的功能

只不過...還是有 windows 7 權限的問題 QAQ

要把程式調成【以系統管理員的身分執行此程式】或是【以相容模式執行這個程式】

這個程式才有辦法在 windows 7 中順利執行...

有沒有什麼辦法呢??

( Easy_run_class 還有遇到一個問題

  就是如果 JDK 沒有安裝在預設路徑

  那該怎麼去找到 JDK 安裝在何處?

  希望有高手解惑啊!!!                        )


和風信使 發表在 痞客邦 留言(0) 人氣()

下載網址:http://dl.dropbox.com/u/12113131/Install_Easy_run_class.msi

現在,在學到了JAVA的SWING之後

在寫Easy_run_class就又有了新的方向

就是使用 javaw 來執行的話不會有醜醜的視窗出現

但是在右鍵選單上面加太多東西

觀感真的不是很好

因為我還想寫一個能夠輸入參數的選項

還有是否要改成 "編譯成 .class 並執行" 之類的更改方向

但是我個人是希望可以學到怎麼在右鍵選單上面

新增一個類似下層選單的東西

不然東西太多

太複雜也不好用

如果沒有好心人士提供這方面的知識

就等我慢慢吸收日月精華吧~

還有關於CLASSPATH這個環境變數

也需要做一些小修正

等以後再改吧(目前的做法是直接覆蓋原有設定,但這樣好像不太好)

P.S. 這個程式已經默默地更新到了v1.0.2

也歡迎熱心人士多提供意見!!


和風信使 發表在 痞客邦 留言(1) 人氣()

下載網址:http://dl.dropbox.com/u/12113131/Install_Easy_run_class.msi

2011/03/30 v1.0.1更新:

修改安裝的相關描述,刪除著作權警示。

把 .JAVA 和 .CLASS 新增圖示。

新增一個可以自動新增 JAVA 路徑進環境變數 ( Path 和 CLASSPATH ) 的程式。使用者可能要自行以系統管理員身分執行。

未安裝在預設路徑,或未安裝,將會顯示有不明錯誤。

注意:若安裝過 v1.0.0 的使用者建議先到新增移除程式移除 Easy_run_class v1.0 再安裝新版。

 

閒聊:

看到一堆人在安裝的時候都沒有設定環境變數,乾脆寫一個程式自動新增算了。

於是,我又用C++寫了一個程式,程式碼如下:

歡迎大家給予意見:)

安裝的時候程式碼都會一起安裝喔:)

http://taichunmin.pixnet.net/blog/category/1765785 這是之前的那篇文章:)


和風信使 發表在 痞客邦 留言(2) 人氣()

下載網址:http://dl.dropbox.com/u/12113131/Install_Easy_run_class.msi

這個是我無聊之下用C++寫的小程式

主要的運行環境是 Windows 系統

寫出程式之後,又跑去研究登陸檔

研究怎麼讓他能夠在.class 的檔案上面自動開啟

以及在.java 的檔案右鍵選單上面出現 "編譯成 .class" 的選項

然後就直接使用 Setup2GO 包裝成安裝檔啦 :)

底下公布原始碼 :) 歡迎大家提供意見


和風信使 發表在 痞客邦 留言(0) 人氣()