MATLAB R2012a安装教程(含激活码失效的解决办法)-转载

MATLAB R2012a安装教程

  • 安装包链接
  • 安装步骤
  • 配置
  • license过期
    • 更改系统时间
    • 更改license文件
MATLAB是用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境。MATLAB功能十分强大,但属于商业软件,对于学生党并不十分友好。前几天正好帮朋友安装MATLAB,所以写此教程,希望能帮助大家顺利安装MATLAB。

 原文链接:https://www.it610.com/article/1288588823906820096.htm

安装包链接

我们安装的是matlab R2012a版本。
链接:https://pan.baidu.com/s/1-QeWN_1ZxcKW_77emPmQNg 提取码:hp4u

安装步骤

下载安装包并解压可以看到文件夹中有setup.exe文件,双击进行安装:

 

 

 

选择不使用Internet安装 - 下一步。
MATLAB R2012a安装教程(含激活码失效的解决办法)_第2张图片
是 - 下一步。
MATLAB R2012a安装教程(含激活码失效的解决办法)_第3张图片

选择我已有我的许可证的文件安装密钥。
MATLAB R2012a安装教程(含激活码失效的解决办法)_第4张图片

安装密钥在MATLAB_R2012a\crack路径下的install.txt文件中。其中提供了两个激活码,我们选用第一个密钥来安装:38699-60149-36808-21840-05491。

MATLAB R2012a安装教程(含激活码失效的解决办法)_第5张图片

将file installation key:38699-60149-36808-21840-05491 复制到安装窗口。
MATLAB R2012a安装教程(含激活码失效的解决办法)_第6张图片
选择安装类型为典型。
MATLAB R2012a安装教程(含激活码失效的解决办法)_第7张图片
安装路径选择时建议不要安装在C盘,最好改一下路径。这里我们做演示用途就不改了。
MATLAB R2012a安装教程(含激活码失效的解决办法)_第8张图片
再点击下一步就到了安装界面了。
MATLAB R2012a安装教程(含激活码失效的解决办法)_第9张图片
当安装进度条到100%后会提示后续需要执行其他配置步骤。
MATLAB R2012a安装教程(含激活码失效的解决办法)_第10张图片

配置

我们在MATLAB_R2012a\bin路径(安装路径)下双击运行matlab.exe

MATLAB R2012a安装教程(含激活码失效的解决办法)_第11张图片
选择不使用Internet手动激活。
MATLAB R2012a安装教程(含激活码失效的解决办法)_第12张图片
我们再打开MATLAB_R2012a\crack路径下的install.txt文件,看我们刚刚输入的序列号中对应的许可证文件,第一个序列号对应的是license_standalone.dat文件,记录此文件的路径MATLAB_R2012a\crack\license_standalone.dat
MATLAB R2012a安装教程(含激活码失效的解决办法)_第13张图片
输入我们刚刚记下的路径(注意:示例中我使用的是相对路径,读者需要填写完整路径)。
MATLAB R2012a安装教程(含激活码失效的解决办法)_第14张图片
点击下一步,会显示激活已完成。
MATLAB R2012a安装教程(含激活码失效的解决办法)_第15张图片

license过期

但是,至此我们的安装还没有全部完成。我们打开软件发现还是需要激活,因为这个license已经过期了,有两种解决办法:

  • 更改系统时间
  • 更改license文件

更改系统时间

MATLAB的证书规定了过期时间,那么我们将系统时间更改为过期时间之前不久可以了么。这是一种简单的方法,但并不推荐,一是因为每次都需要更改十分麻烦,而是我们如果在程序中需要使用当前时间的时间戳会出错误。

更改license文件

建议使用此方法达到一劳永逸。
我们先来到安装路径下(注意是安装路径,不是安装包的路径)的licenses文件夹下。打开以.lic为后缀的文件。
MATLAB R2012a安装教程(含激活码失效的解决办法)_第16张图片
在文件中添加以下内容(注意是添加,不是覆盖),并另保存为.dat格式

INCREMENT Aerospace_Blockset MLM 99 permanent uncounted \
A05070F00D1EB1F92326 VENDOR_STRING=QQ=47399897 HOSTID=ANY \
ck=216 SN=888888 TS_OK
INCREMENT Aerospace_Toolbox MLM 99 permanent uncounted \
6090F0C08395D4289512 VENDOR_STRING=QQ=47399897 HOSTID=ANY \
ck=237 SN=888888 TS_OK
INCREMENT Bioinformatics_Toolbox MLM 99 permanent uncounted \
40E0B0406DE56D23A426 VENDOR_STRING=QQ=47399897 HOSTID=ANY \
ck=190 SN=888888 TS_OK
INCREMENT Cert_Kit_IEC MLM 99 permanent uncounted \
9080309041D2DCCB2B10 VENDOR_STRING=QQ=47399897 HOSTID=ANY \
ck=179 SN=888888 TS_OK
INCREMENT Communication_Blocks MLM 99 permanent uncounted \
80E010304ACCEEB5E0AA VENDOR_STRING=QQ=47399897 HOSTID=ANY \
ck=77 SN=888888 TS_OK
INCREMENT Communication_Toolbox MLM 99 permanent uncounted \
C0003000770A1A086530 VENDOR_STRING=QQ=47399897 HOSTID=ANY \
ck=162 SN=888888 TS_OK
INCREMENT Compiler MLM 99 permanent uncounted 60D0C0F0DC03C2F72FF7 \
VENDOR_STRING=QQ=47399897 HOSTID=ANY ck=232 SN=888888 TS_OK
INCREMENT Control_Toolbox MLM 99 permanent uncounted \
6020E0B00B7ECE0893BB VENDOR_STRING=QQ=47399897 HOSTID=ANY ck=7 \
SN=888888 TS_OK
INCREMENT Curve_Fitting_Toolbox MLM 99 permanent uncounted \
10703080061FF9DA5A81 VENDOR_STRING=QQ=47399897 HOSTID=ANY \
ck=229 SN=888888 TS_OK
INCREMENT Data_Acq_Toolbox MLM 99 permanent uncounted \
E0B0E0E05124CF4A1A8D VENDOR_STRING=QQ=47399897 HOSTID=ANY \
ck=21 SN=888888 TS_OK
INCREMENT Database_Toolbox MLM 99 permanent uncounted \
0010D0B02CA7353F8314 VENDOR_STRING=QQ=47399897 HOSTID=ANY \
ck=230 SN=888888 TS_OK
INCREMENT Datafeed_Toolbox MLM 99 permanent uncounted \
40905060D1ECD939538F VENDOR_STRING=QQ=47399897 HOSTID=ANY \
ck=185 SN=888888 TS_OK
INCREMENT Dial_and_Gauge_Blocks MLM 99 permanent uncounted \
A0F05070AA9AEBF40588 VENDOR_STRING=QQ=47399897 HOSTID=ANY \
ck=226 SN=888888 TS_OK
INCREMENT Distrib_Computing_Toolbox MLM 99 permanent uncounted \
5000D00031D2C6B89F9C VENDOR_STRING=QQ=47399897 HOSTID=ANY \
ck=229 SN=888888 TS_OK
INCREMENT EDA_Simulator_Link MLM 99 permanent uncounted \
E070C0C02B4B90B5A8D0 VENDOR_STRING=QQ=47399897 HOSTID=ANY \
ck=205 SN=888888 TS_OK
INCREMENT Econometrics_Toolbox MLM 99 permanent uncounted \
505010F00EB1289A73BA VENDOR_STRING=QQ=47399897 HOSTID=ANY \
ck=149 SN=888888 TS_OK
INCREMENT Embedded_IDE_Link MLM 99 permanent uncounted \
90E01090A9BDA4FF67D7 VENDOR_STRING=QQ=47399897 HOSTID=ANY \
ck=254 SN=888888 TS_OK
INCREMENT Excel_Link MLM 99 permanent uncounted E0800080FED6DF10E43F \
VENDOR_STRING=QQ=47399897 HOSTID=ANY ck=207 SN=888888 TS_OK
INCREMENT Filter_Design_HDL_Coder MLM 99 permanent uncounted \
3050B02039903259577E VENDOR_STRING=QQ=47399897 HOSTID=ANY \
ck=181 SN=888888 TS_OK
INCREMENT Filter_Design_Toolbox MLM 99 permanent uncounted \
3000E0B02C875CDF5823 VENDOR_STRING=QQ=47399897 HOSTID=ANY \
ck=239 SN=888888 TS_OK
INCREMENT Fin_Derivatives_Toolbox MLM 99 permanent uncounted \
70A010D017A8FA7CE955 VENDOR_STRING=QQ=47399897 HOSTID=ANY \
ck=247 SN=888888 TS_OK
INCREMENT Financial_Toolbox MLM 99 permanent uncounted \
20E050A0ACC6A69E7AEE VENDOR_STRING=QQ=47399897 HOSTID=ANY \
ck=241 SN=888888 TS_OK
INCREMENT Fixed-Point_Blocks MLM 99 permanent uncounted \
E0206040ED6EF9BCCB3B VENDOR_STRING=QQ=47399897 HOSTID=ANY \
ck=11 SN=888888 TS_OK
INCREMENT Fixed_Income_Toolbox MLM 99 permanent uncounted \
50E090D0C130F6416176 VENDOR_STRING=QQ=47399897 HOSTID=ANY \
ck=132 SN=888888 TS_OK
INCREMENT Fixed_Point_Toolbox MLM 99 permanent uncounted \
C07000703494010EF55C VENDOR_STRING=QQ=47399897 HOSTID=ANY \
ck=154 SN=888888 TS_OK
INCREMENT Fuzzy_Toolbox MLM 99 permanent uncounted \
D04010B048FB8D350E4E VENDOR_STRING=QQ=47399897 HOSTID=ANY \
ck=233 SN=888888 TS_OK
INCREMENT GADS_Toolbox MLM 99 permanent uncounted \
50D0900087384B51643A VENDOR_STRING=QQ=47399897 HOSTID=ANY \
ck=210 SN=888888 TS_OK
INCREMENT Identification_Toolbox MLM 99 permanent uncounted \
00707080A0CC0D8FB71E VENDOR_STRING=QQ=47399897 HOSTID=ANY \
ck=190 SN=888888 TS_OK
INCREMENT Image_Acquisition_Toolbox MLM 99 permanent uncounted \
50D0D0905C22130C4D2A VENDOR_STRING=QQ=47399897 HOSTID=ANY \
ck=208 SN=888888 TS_OK
INCREMENT Image_Toolbox MLM 99 permanent uncounted \
B01030E0F517B496275C VENDOR_STRING=QQ=47399897 HOSTID=ANY \
ck=133 SN=888888 TS_OK
INCREMENT Instr_Control_Toolbox MLM 99 permanent uncounted \
80C0505033C162F3017F VENDOR_STRING=QQ=47399897 HOSTID=ANY \
ck=169 SN=888888 TS_OK
INCREMENT MAP_Toolbox MLM 99 permanent uncounted C090E0E022BD3BA852B3 \
VENDOR_STRING=QQ=47399897 HOSTID=ANY ck=4 SN=888888 TS_OK
INCREMENT MATLAB_Report_Gen MLM 99 permanent uncounted \
80B000B00052F620FB11 VENDOR_STRING=QQ=47399897 HOSTID=ANY \
ck=190 SN=888888 TS_OK
INCREMENT MATLAB_Distrib_Comp_Engine MLM 99 permanent uncounted \
804080300CB545FBECE8 VENDOR_STRING=QQ=47399897 HOSTID=ANY \
ck=233 SN=888888 TS_OK
INCREMENT MATLAB_Builder_for_Java MLM 99 permanent uncounted \
404040707C2CA5639DEE VENDOR_STRING=QQ=47399897 HOSTID=ANY \
ck=186 SN=888888 TS_OK
INCREMENT MATLAB_Builder_for_dot_Net MLM 99 permanent uncounted \
8070E0D0FFAA645DA39D VENDOR_STRING=QQ=47399897 HOSTID=ANY \
ck=255 SN=888888 TS_OK
INCREMENT MATLAB MLM 99 permanent uncounted 50E0F0D08F6CEF24CC5B \
VENDOR_STRING=QQ=47399897 HOSTID=ANY ck=14 SN=888888 TS_OK
INCREMENT MATLAB_Excel_Builder MLM 99 permanent uncounted \
50106010BCBF479623D9 VENDOR_STRING=QQ=47399897 HOSTID=ANY \
ck=206 SN=888888 TS_OK
INCREMENT MBC_Toolbox MLM 99 permanent uncounted B05000C02F157C5BEE28 \
VENDOR_STRING=QQ=47399897 HOSTID=ANY ck=198 SN=888888 TS_OK
INCREMENT MPC_Toolbox MLM 99 permanent uncounted 3050206087BF1C33045E \
VENDOR_STRING=QQ=47399897 HOSTID=ANY ck=203 SN=888888 TS_OK
INCREMENT Neural_Network_Toolbox MLM 99 permanent uncounted \
D0009010451EEB5A283F VENDOR_STRING=QQ=47399897 HOSTID=ANY \
ck=198 SN=888888 TS_OK

然后我们再打开matlab,激活文件路径选择时填写此.dat文件的路径来进行激活就OK了。

--------------------------------------------------------------------------------

解决MATLAB安装完成后开始菜单和桌面没有快捷方式的问题

 原文链接:https://blog.csdn.net/yingtaotaotao/article/details/79103397

MATLAB2016b,装完了后出现了没有快捷方式,并在菜单栏中没有相应的文件夹,而且打开MATLAB时感觉有点不正常,先是闪现dos那种界面,然后才慢慢打开(MATLAB打开都很慢),而且之前的m文件都不能相关联。

解决方案如下:

方案一:

找到MATLAB的安装目录文件一般是D:\Program Files\Matlab\bin(根据你自己的安装路径,不一定是D盘),然后找到MATLAB.exe,右键,选择“发送”、“到桌面快捷方式”,这样就可以从桌面打开MATLAB了。但缺点是开始菜单没有快捷方式。.m文件也没有关联。

 

 

 

方案二:

第一遍安装完后,不会出现勾选创建快捷方式及文件关联的页面,安装完后,关闭;

再打开安装程序,进行安装,但选择安装组件时,会显示都已安装,随便选择一个需要的组件(选择一个较小的,这样安装过程会快),若提示已安装过,则选择覆盖安装,

 

 

 

 

 

 之后就会出现创建快捷方式及文件关联的页面了。勾选“桌面”和“开始菜的那种的所有app”就ok了

 

 

 安装完成后,随便打开一个.m文件,然后所有的.m文件都可以和MATLAB关联起来了。这样*.m文件也能关联上了。

推荐使用第二种方法,从根本上解决了问题

补充:如果.m文件还是没有关联MATLAB,就要用下面这种方法了

1. 将下面代码复制保存为 associateFiles.m 文件。

2. 在MATLAB中运行 associateFiles.m 文件,即在命令行中输入 associateFiles 然后 回车。

3. 步骤2程序运行生成文件 MatlabFileAssocFix.reg 。

4. 关闭MATLAB,双击运行 MatlabFileAssocFix.reg 。

5. 设置.m文件默认打开程序为MATLAB2016a 完工。

function associateFiles(action, userExtList, fileStr)  
   
% associateFiles(action, extList, fileStr)  
%  
% Makes a registry files that can be used to set correct file associantions on  
% a windows platform. The following MATLAB file extensions are supported:  
% .m, .mat, .fig, .mexw32, .mexw64, .p, .mdl, .mdlp, .slx, .mldatx, .req,  
% .sldd, .slddc, .slxp, .sltx, .mn, .mu, .muphlp, .xvc, .xvz, .ssc, .mlapp,  
% .mlappinstall, .mltbx, .mlpkginstall, .mlprj  
%  
% INPUT:  
% action  - optional string.   
%           * 'add' (default) adds/rewrites the MATLAB file association registry  
%              keys for this version.  
%           * 'delete' deletes the MATLAB file association registry entries for  
%              ALL versions of MATLAB (including "old style" ones)  
%           * 'deleteadd' is the same as 'delete' followed by 'add'    
% extList - optional string or cell array of strings containing the file  
%           extensions that should be associated with this version. Default is  
%           all MATLAB file extension (see above).  
% fileStr - optional string with the name of the registry file to be written   
%           (possibly including path). Default is the file  
%           'MatlabFileAssocFix.reg' in the current directory.  
%  
% USAGE:  
% 1) Run with desired options (see above). A registry file should have been   
%    created.   
% 2) Exit all running instances of MATLAB.  
% 3) Make a backup copy of the windows registry if you need to restore the   
%    changes, see https://support.microsoft.com/en-us/kb/322756  
% 4) Double click on the created file (possibly need to enter a password) and  
%    confirm.  
% 5) Restart Windows (or explorer.exe).  
% 6) The MATLAB files should now be associated with the MATLAB version that the  
%    registry file was created in and e.g. m-files should be opened in an  
%    already running instance of MATLAB.  
%  
% EXAMPLES:  
% * associateFiles('deleteadd') - Makes a registry files that deletes all  
%   previous MATLAB file association registry keys and write new ones that  
%   associates all MATLAB files with the MATLAB version that the registry file  
%   was created in.  
% * associateFiles('', {'.m', '.mat', '.fig'}, 'myFile') - Makes a registry file  
%   "myFile.reg" that associates m-, mat- and fig-files with the MATLAB version  
%   that the registry file was created in.   
%  
% VERSION 1.0  
   
% Defualt input  
if (nargin < 1 || isempty(action))  
  action      = 'add';  
end  
if (nargin < 2)  
  userExtList = {};  
end  
if (nargin < 3)  
  fileStr = '';  
end  
if (~iscell(userExtList))  
  if (isempty(userExtList))  
    userExtList = {};  
  else  
    userExtList = {userExtList};  
  end  
end  
   
% Sanity check  
if (~ischar(action) || (~strcmpi(action, 'add') && ...  
    ~strcmpi(action, 'delete') && ~strcmpi(action, 'deleteadd')))  
  error('The action to perform must be ''add'', ''delete'' or ''deleteadd''!')  
end  
if (~isempty(userExtList) && ~min(cellfun(@ischar, userExtList)))  
  error('The file extension list must be a string or a cell array of strings!')  
end  
if (~ischar(fileStr))  
  error('The file to write to must be a string!')  
end  
   
   
% Get the currently running MATLAB version  
verStr = regexp(version, '(\d*?\.\d*?\.\d*?)\.', 'tokens');  
verStr = verStr{1}{1};  
verNum = str2double(regexprep(verStr, '(\d*?\.\d*)[\x0000-\xffff]*', '$1'));  
verHex = sprintf('x', str2double(regexprep(verStr, ...  
  '(\d*?)\.[\x0000-\xffff]*', '$1')), str2double(regexprep(verStr, ...  
  '\d*?\.(\d*?)\.[\x0000-\xffff]*', '$1')));  
   
% Get 32/64-bit  
arch = computer;  
switch arch  
  case 'PCWIN'  
    binFolder = 'win32';  
  case 'PCWIN64'  
    binFolder = 'win64';  
end  
binPath = fullfile(matlabroot, 'bin', binFolder);  
   
   
% Known MATLAB files with possible DDE actions  
fileExtCell = {...  
  'fig' ,   'MATLAB Figure'              , '-62'                       , ...  
  {'Open', 'uiopen(''%1'',1)'}           , []                          ; ...  
  'm'     , 'MATLAB Code'                , '-58'                       , ...  
  {'Open', 'uiopen(''%1'',1)'}           , {'Run', 'run(''%1'')'}      ; ...  
  'mat'   , 'MATLAB Data'                , '-59'                       , ...  
  {'Load', 'load(''%1'')'    }           , {'Open', 'uiimport(''%1'')'}; ...  
  'mdl'   , 'Simulink Model'             , '-61'                       , ...  
  {'Load', 'uiopen(''%1'',1)'}           , []                          ; ...  
  'mdlp'  , 'Simulink Protected Model'   , '-72'                       , ...  
  []                                     , []                          ; ...  
  'mexw32', 'MATLAB MEX'                 , '-63'                       , ...  
  []                                     , []                          ; ...  
  'mexw64', 'MATLAB MEX'                 , '-63'                       , ...  
  []                                     , []                          ; ...  
  'mn'    , 'MuPAD Notebook'             , '-66'                       , ...  
  {'Open', 'mupad(''%1'')'}              , []                          ; ...  
  'mu'    , 'MuPAD Code'                 , '-67'                       , ...  
  {'Open', 'uiopen(''%1'',1)'}           , []                          ; ...  
  'muphlp', 'MuPAD Help'                 , '-68'                       , ...  
  {'Open', 'doc(symengine, ''%1'')'}     , []                          ; ...  
  'p'     , 'MATLAB P-code'              , '-60'                       , ...  
  []                                     , []                          ; ...  
  'slx'   , 'Simulink Model (SLX format)', '-73'                       , ...  
  {'Open', 'uiopen(''%1'',1)'}           , []                          ; ...  
  'ssc'   , 'Simscape Model'             , '-65'                       , ...  
  {'Open', 'uiopen(''%1'',1)'}           , []                          ; ...  
  'xvc'   , 'MuPAD Graphics'             , '-69'                       , ...  
  {'Open', 'mupad(''%1'')'}              , []                          ; ...  
  'xvz'   , 'MuPAD Graphics'             , '-70'                       , ...  
  {'Open', 'mupad(''%1'')'}              , []                          ; ...  
  'mlapp'       , 'MATLAB Application'              , [] , [], []      ; ...   
  'mltbx'       , 'MATLAB Toolbox'                  , [] , [], []      ; ...   
  'mldatx'      , 'Simulink Scenario'               , [] , [], []      ; ...    
  'req'         , 'Simulink Requirements Link'      , [] , [], []      ; ...   
  'sldd'        , 'Simulink Dictionary'             , [] , [], []      ; ...   
  'slddc'       , 'Simulink Dictionary'             , [] , [], []      ; ...        
  'mlappinstall', 'MATLAB Application'              , [] , [], []      ; ...    
  'mlpkginstall', 'MATLAB Support Package'          , [] , [], []      ; ...   
  'slxp'        , 'Simulink Protected Model Package', [] , [], []      ; ...   
  'sltx'        , 'Simulink Template'               , [] , [], []      ; ...   
  'mlprj'       , 'MATLAB Project'                  , [] , [], []};  
   
% Possibly trim list  
if (~isempty(userExtList))  
  fileExtCell = fileExtCell(ismember(fileExtCell(:, 1), ...  
    regexprep(userExtList, '\.', '')), :);  
end  
   
% Make registry file  
if (~isempty(fileStr))  
  % Possibly add file extension  
  [~, ~, tmp] = fileparts(fileStr);  
  if (isempty(tmp))  
    fileStr = [fileStr, '.reg'];  
  end  
  fid = fopen(fileStr, 'w');  
else  
  fid = fopen('MatlabFileAssocFix.reg', 'w');  
end  
if (fid == -1)  
  error('Failed to create registry file')  
end  
% Write intial lines  
fprintf(fid, '%s\r\n\r\n', 'Windows Registry Editor Version 5.00');  
fprintf(fid, '%s\r\n\r\n', ';FIXES MATLAB FILE ASSOCIATIONS');  
   
   
% REMOVE OLD KEYS  
explorerKey = ['HKEY_CURRENT_USER\Software\Microsoft\Windows\', ...  
  'CurrentVersion\Explorer\FileExts'];  
% Iterate over file extensions  
for fileExtNo = 1 : size(fileExtCell, 1)  
  rmKeys  = {};  
  fileExt = fileExtCell{fileExtNo, 1};  
    
  % File extension keys  
  [status, result] = dos(['reg query HKEY_CLASSES_ROOT /f .', fileExt, ...  
    ' /k /e']);  
  if (~status)  
    keys = regexp(result, '(HKEY_CLASSES_ROOT[\x0000-\xffff]*?)\n', 'tokens');  
    rmKeys = [rmKeys, keys{:}];  
  end  
    
  % Old style keys without version numbers  
  if (~strcmpi(fileExt, 'mexw64'))  
    % Uses single DDE key for mex files  
    if (strcmpi(fileExt, 'mexw32'))  
      fileExtTmp = 'mex';  
    else  
      fileExtTmp = fileExt;  
    end  
    [status, result] = dos(['reg query HKEY_CLASSES_ROOT /f ', ...  
      fileExtTmp, 'file /k /e']);  
    if (~status)  
      keys = regexp(result, '(HKEY_CLASSES_ROOT[\x0000-\xffff]*?)\n', ...  
        'tokens');  
      rmKeys = [rmKeys, keys{:}];  
    end  
  end  
    
  % New style keys with version number  
  if (strcmpi(action, 'add'))  
    % Only remove keys related to this version  
    [status, result] = dos(['reg query HKEY_CLASSES_ROOT /f MATLAB.', ...  
      fileExt, '.', verStr ' /k']);  
  else  
    % Remove keys related to ALL version  
    [status, result] = dos(['reg query HKEY_CLASSES_ROOT /f MATLAB.', ...  
      fileExt, '. /k']);  
  end  
  if (~status)  
    keys = regexp(result, '(HKEY_CLASSES_ROOT[\x0000-\xffff]*?)\n', 'tokens');  
    rmKeys = [rmKeys, keys{:}];  
  end  
    
  % Explorer keys  
  [status, result] = dos(['reg query ', explorerKey, ' /f .', fileExt, ...  
    ' /k /e']);  
  if (~status)  
    keys = regexp(result, '(HKEY_CURRENT_USER[\x0000-\xffff]*?)\n', 'tokens');  
    rmKeys = [rmKeys, keys{:}];  
  end  
    
  % Write to file  
  if (~isempty(rmKeys))  
    fprintf(fid, '%s\r\n\r\n', [';REMOVES ', upper(fileExt), ...  
      ' FILE ASSOCIATIONS']);  
    for keyNo = 1 : length(rmKeys)  
      key = rmKeys{keyNo};  
      fprintf(fid, '%s\r\n\r\n', ['[-', key, ']']);  
    end  
  end  
end  
   
% ADD KEYS  
if (~strcmpi(action, 'delete'))  
  % Get text Persistent Handler  
  [status, result] = dos(...  
    'reg query HKEY_CLASSES_ROOT\.txt\PersistentHandler /ve');  
  if (~status)  
    PersistentHandler = regexp(result, '\{[\x0000-\xffff]*?\}', 'match');  
    PersistentHandler = PersistentHandler{1};  
  else  
    PersistentHandler = '';  
  end  
  % DDE call  
  ddeCall = 'ShellVerbs.Matlab';  
  if (verNum > 8)  
    % Changed from R2013a  
    ddeCall = [ddeCall, '.', verStr];  
  end  
  % Default icon  
  defIcon = 'm';  
  if (~exist(fullfile(binPath, 'm.ico'), 'file'))  
    defIcon = '';  
  end  
  % Path to MATLAB binary directory with \\  
  binPathStr = regexprep(binPath, '\\', '\\\\');  
    
  % Write Shell Open key  
  key = ['[HKEY_CLASSES_ROOT\Applications\MATLAB.exe\shell\open', ...  
    '\command]%r', '@="\"', binPathStr, '\\MATLAB.exe\" \"%1\""%r%r'];  
  fprintf(fid, '%s\r\n\r\n', ';ADD SHELL OPEN');  
  lines = regexp(key, '([\x0000-\xffff]*?)%r', 'tokens');  
  for lineNo = 1 : length(lines)  
    fprintf(fid, '%s\r\n', lines{lineNo}{1});  
  end  
    
  % Iterate over file types  
  for fileExtNo = 1 : size(fileExtCell, 1)  
    fileExt = fileExtCell{fileExtNo, 1};  
      
    % File extension keys  
    key  = ['[HKEY_CLASSES_ROOT\.', fileExt, ']%r@="MATLAB.', fileExt, '.', ...  
      verStr, '"%r'];  
    if (strcmpi(fileExt, 'm') && ~isempty(PersistentHandler))  
      % Add some values  
      key = [key, '"Content Type"="text/plain"%r', ...  
        '"PerceivedType"="Text"%r'];  
    end  
    key = [key, '%r'];  
    key = [key, '[HKEY_CLASSES_ROOT\.', fileExt, ...  
      '\OpenWithProgids]%r"MATLAB.', fileExt, '.', verStr, '"=""%r%r'];  
    if (strcmpi(fileExt, 'm') && ~isempty(PersistentHandler))  
      key = [key, '[HKEY_CLASSES_ROOT\.', fileExt, ...  
        '\PersistentHandler]%r@="', PersistentHandler, '"%r%r'];  
    end  
    key  = [key, '[HKEY_CLASSES_ROOT\.', fileExt, ...  
      '\Versions\MATLAB.', fileExt, '.' verStr, ']%r"FileVersionMS"=dword:', ...  
      verHex, '%r"FileVersionLS"=dword:00000000%r%r'];  
      
    % DDE keys  
    ddeData = fileExtCell(ismember(fileExtCell(:, 1), fileExt), :);  
    key = [key, '[HKEY_CLASSES_ROOT\MATLAB.', fileExt, '.' verStr, ...  
      ']%r@="', ddeData{2}, '"%r'];  
    if (~isempty(ddeData{3}))  
      key = [key, '"FriendlyTypeName"="@', binPathStr, '\\matlab.exe', ...  
        ',', ddeData{3}, '"%r'];  
    end  
    key = [key, '%r'];  
    % Icon  
    icon = fileExt;  
    if (~exist(fullfile(binPath, [icon, '.ico']), 'file'))  
      icon = defIcon;  
    end  
    if (~isempty(icon))  
      key = [key, '[HKEY_CLASSES_ROOT\MATLAB.', fileExt, '.' verStr, ...  
        '\DefaultIcon]%r@="', binPathStr, '\\', icon, '.ico,0"%r%r'];  
    end  
    % Shell actions  
    for shellActionNo = 4:5  
      ddePar = ddeData{shellActionNo};  
      if (~isempty(ddePar))  
        key = [key, '[HKEY_CLASSES_ROOT\MATLAB.', fileExt, '.' verStr, ...  
          '\Shell\', ddePar{1}, ']%r@="', ddePar{1}, '"%r%r'];  
        key = [key, '[HKEY_CLASSES_ROOT\MATLAB.', fileExt, '.' verStr, ...  
          '\Shell\', ddePar{1}, '\command]%r@="\"', binPathStr, ...  
          '\\matlab.exe\""%r%r'];  
        key = [key, '[HKEY_CLASSES_ROOT\MATLAB.', fileExt, '.' verStr, ...  
          '\Shell\', ddePar{1}, '\ddeexec]%r@="', ddePar{2}, '"%r%r'];  
        key = [key, '[HKEY_CLASSES_ROOT\MATLAB.', fileExt, '.' verStr, ...  
          '\Shell\', ddePar{1},'\ddeexec\application]%r@="', ...  
          ddeCall, '"%r%r'];  
        key = [key, '[HKEY_CLASSES_ROOT\MATLAB.', fileExt, '.' verStr, ...  
          '\Shell\', ddePar{1},'\ddeexec\topic]%r@="system"%r%r'];  
      end  
    end  
      
    % Explorer keys  
    key = [key, '[', explorerKey, '\.', fileExt, '\OpenWithProgids]%r'];  
    if (strcmpi(fileExt, 'm'))  
      key = [key, '"m_auto_file"=hex(0):%r'];  
    end  
    key = [key, '"MATLAB.', fileExt, '.',  verStr, '"=hex(0):%r%r'];  
    if (~isempty(ddeData{4}))  
      % Add key  
      key = [key, '[', explorerKey, '\.', fileExt, ...  
        '\OpenWithList]%r"a"="MATLAB.exe"%r"MRUList"="a"%r%r'];  
    else  
      key = [key, '[', explorerKey, '\.', fileExt, '\OpenWithList]%r%r'];  
    end  
    % Write to file  
    fprintf(fid, '%s\r\n\r\n', [';ADD ', upper(fileExt), ...  
      ' FILE ASSOCIATIONS']);  
    lines = regexp(key, '([\x0000-\xffff]*?)%r', 'tokens');  
    for lineNo = 1 : length(lines)  
      fprintf(fid, '%s\r\n', lines{lineNo}{1});  
    end  
  end  
    
end  
   
% Cloese file  
fclose(fid); 

 

 

 

INCREMENT Aerospace_Blockset MLM 99 permanent uncounted \
A05070F00D1EB1F92326 VENDOR_STRING=QQ=47399897 HOSTID=ANY \
ck=216 SN=888888 TS_OK
INCREMENT Aerospace_Toolbox MLM 99 permanent uncounted \
6090F0C08395D4289512 VENDOR_STRING=QQ=47399897 HOSTID=ANY \
ck=237 SN=888888 TS_OK
INCREMENT Bioinformatics_Toolbox MLM 99 permanent uncounted \
40E0B0406DE56D23A426 VENDOR_STRING=QQ=47399897 HOSTID=ANY \
ck=190 SN=888888 TS_OK
INCREMENT Cert_Kit_IEC MLM 99 permanent uncounted \
9080309041D2DCCB2B10 VENDOR_STRING=QQ=47399897 HOSTID=ANY \
ck=179 SN=888888 TS_OK
INCREMENT Communication_Blocks MLM 99 permanent uncounted \
80E010304ACCEEB5E0AA VENDOR_STRING=QQ=47399897 HOSTID=ANY \
ck=77 SN=888888 TS_OK
INCREMENT Communication_Toolbox MLM 99 permanent uncounted \
C0003000770A1A086530 VENDOR_STRING=QQ=47399897 HOSTID=ANY \
ck=162 SN=888888 TS_OK
INCREMENT Compiler MLM 99 permanent uncounted 60D0C0F0DC03C2F72FF7 \
VENDOR_STRING=QQ=47399897 HOSTID=ANY ck=232 SN=888888 TS_OK
INCREMENT Control_Toolbox MLM 99 permanent uncounted \
6020E0B00B7ECE0893BB VENDOR_STRING=QQ=47399897 HOSTID=ANY ck=7 \
SN=888888 TS_OK
INCREMENT Curve_Fitting_Toolbox MLM 99 permanent uncounted \
10703080061FF9DA5A81 VENDOR_STRING=QQ=47399897 HOSTID=ANY \
ck=229 SN=888888 TS_OK
INCREMENT Data_Acq_Toolbox MLM 99 permanent uncounted \
E0B0E0E05124CF4A1A8D VENDOR_STRING=QQ=47399897 HOSTID=ANY \
ck=21 SN=888888 TS_OK
INCREMENT Database_Toolbox MLM 99 permanent uncounted \
0010D0B02CA7353F8314 VENDOR_STRING=QQ=47399897 HOSTID=ANY \
ck=230 SN=888888 TS_OK
INCREMENT Datafeed_Toolbox MLM 99 permanent uncounted \
40905060D1ECD939538F VENDOR_STRING=QQ=47399897 HOSTID=ANY \
ck=185 SN=888888 TS_OK
INCREMENT Dial_and_Gauge_Blocks MLM 99 permanent uncounted \
A0F05070AA9AEBF40588 VENDOR_STRING=QQ=47399897 HOSTID=ANY \
ck=226 SN=888888 TS_OK
INCREMENT Distrib_Computing_Toolbox MLM 99 permanent uncounted \
5000D00031D2C6B89F9C VENDOR_STRING=QQ=47399897 HOSTID=ANY \
ck=229 SN=888888 TS_OK
INCREMENT EDA_Simulator_Link MLM 99 permanent uncounted \
E070C0C02B4B90B5A8D0 VENDOR_STRING=QQ=47399897 HOSTID=ANY \
ck=205 SN=888888 TS_OK
INCREMENT Econometrics_Toolbox MLM 99 permanent uncounted \
505010F00EB1289A73BA VENDOR_STRING=QQ=47399897 HOSTID=ANY \
ck=149 SN=888888 TS_OK
INCREMENT Embedded_IDE_Link MLM 99 permanent uncounted \
90E01090A9BDA4FF67D7 VENDOR_STRING=QQ=47399897 HOSTID=ANY \
ck=254 SN=888888 TS_OK
INCREMENT Excel_Link MLM 99 permanent uncounted E0800080FED6DF10E43F \
VENDOR_STRING=QQ=47399897 HOSTID=ANY ck=207 SN=888888 TS_OK
INCREMENT Filter_Design_HDL_Coder MLM 99 permanent uncounted \
3050B02039903259577E VENDOR_STRING=QQ=47399897 HOSTID=ANY \
ck=181 SN=888888 TS_OK
INCREMENT Filter_Design_Toolbox MLM 99 permanent uncounted \
3000E0B02C875CDF5823 VENDOR_STRING=QQ=47399897 HOSTID=ANY \
ck=239 SN=888888 TS_OK
INCREMENT Fin_Derivatives_Toolbox MLM 99 permanent uncounted \
70A010D017A8FA7CE955 VENDOR_STRING=QQ=47399897 HOSTID=ANY \
ck=247 SN=888888 TS_OK
INCREMENT Financial_Toolbox MLM 99 permanent uncounted \
20E050A0ACC6A69E7AEE VENDOR_STRING=QQ=47399897 HOSTID=ANY \
ck=241 SN=888888 TS_OK
INCREMENT Fixed-Point_Blocks MLM 99 permanent uncounted \
E0206040ED6EF9BCCB3B VENDOR_STRING=QQ=47399897 HOSTID=ANY \
ck=11 SN=888888 TS_OK
INCREMENT Fixed_Income_Toolbox MLM 99 permanent uncounted \
50E090D0C130F6416176 VENDOR_STRING=QQ=47399897 HOSTID=ANY \
ck=132 SN=888888 TS_OK
INCREMENT Fixed_Point_Toolbox MLM 99 permanent uncounted \
C07000703494010EF55C VENDOR_STRING=QQ=47399897 HOSTID=ANY \
ck=154 SN=888888 TS_OK
INCREMENT Fuzzy_Toolbox MLM 99 permanent uncounted \
D04010B048FB8D350E4E VENDOR_STRING=QQ=47399897 HOSTID=ANY \
ck=233 SN=888888 TS_OK
INCREMENT GADS_Toolbox MLM 99 permanent uncounted \
50D0900087384B51643A VENDOR_STRING=QQ=47399897 HOSTID=ANY \
ck=210 SN=888888 TS_OK
INCREMENT Identification_Toolbox MLM 99 permanent uncounted \
00707080A0CC0D8FB71E VENDOR_STRING=QQ=47399897 HOSTID=ANY \
ck=190 SN=888888 TS_OK
INCREMENT Image_Acquisition_Toolbox MLM 99 permanent uncounted \
50D0D0905C22130C4D2A VENDOR_STRING=QQ=47399897 HOSTID=ANY \
ck=208 SN=888888 TS_OK
INCREMENT Image_Toolbox MLM 99 permanent uncounted \
B01030E0F517B496275C VENDOR_STRING=QQ=47399897 HOSTID=ANY \
ck=133 SN=888888 TS_OK
INCREMENT Instr_Control_Toolbox MLM 99 permanent uncounted \
80C0505033C162F3017F VENDOR_STRING=QQ=47399897 HOSTID=ANY \
ck=169 SN=888888 TS_OK
INCREMENT MAP_Toolbox MLM 99 permanent uncounted C090E0E022BD3BA852B3 \
VENDOR_STRING=QQ=47399897 HOSTID=ANY ck=4 SN=888888 TS_OK
INCREMENT MATLAB_Report_Gen MLM 99 permanent uncounted \
80B000B00052F620FB11 VENDOR_STRING=QQ=47399897 HOSTID=ANY \
ck=190 SN=888888 TS_OK
INCREMENT MATLAB_Distrib_Comp_Engine MLM 99 permanent uncounted \
804080300CB545FBECE8 VENDOR_STRING=QQ=47399897 HOSTID=ANY \
ck=233 SN=888888 TS_OK
INCREMENT MATLAB_Builder_for_Java MLM 99 permanent uncounted \
404040707C2CA5639DEE VENDOR_STRING=QQ=47399897 HOSTID=ANY \
ck=186 SN=888888 TS_OK
INCREMENT MATLAB_Builder_for_dot_Net MLM 99 permanent uncounted \
8070E0D0FFAA645DA39D VENDOR_STRING=QQ=47399897 HOSTID=ANY \
ck=255 SN=888888 TS_OK
INCREMENT MATLAB MLM 99 permanent uncounted 50E0F0D08F6CEF24CC5B \
VENDOR_STRING=QQ=47399897 HOSTID=ANY ck=14 SN=888888 TS_OK
INCREMENT MATLAB_Excel_Builder MLM 99 permanent uncounted \
50106010BCBF479623D9 VENDOR_STRING=QQ=47399897 HOSTID=ANY \
ck=206 SN=888888 TS_OK
INCREMENT MBC_Toolbox MLM 99 permanent uncounted B05000C02F157C5BEE28 \
VENDOR_STRING=QQ=47399897 HOSTID=ANY ck=198 SN=888888 TS_OK
INCREMENT MPC_Toolbox MLM 99 permanent uncounted 3050206087BF1C33045E \
VENDOR_STRING=QQ=47399897 HOSTID=ANY ck=203 SN=888888 TS_OK
INCREMENT Neural_Network_Toolbox MLM 99 permanent uncounted \
D0009010451EEB5A283F VENDOR_STRING=QQ=47399897 HOSTID=ANY \
ck=198 SN=888888 TS_OK
posted @ 2022-06-21 15:25  博客园逛逛  阅读(7479)  评论(0编辑  收藏  举报