
if(ScriptUI.environment.keyboardState.shiftKey) {

alert("您可以在按住shift键的同时单击 Pro Add-Ons  来返回图标。")




} else { 

    var thisFile = new File($.fileName)
    var idOpn = charIDToTypeID("Opn ")
    var desc34 = new ActionDescriptor()
    var idnull = charIDToTypeID("null")
    desc34.putPath(idnull, new File((thisFile.path + "/FRP.jpg")))
    executeAction(idOpn, desc34, DialogModes.NO)

var getName = app.activeDocument.activeLayer.name


function QH() {
  // Duplicate
  function step1(enabled, withDialog) {
    if (enabled != undefined && !enabled)
      return;
    var dialogMode = (withDialog ? DialogModes.ALL : DialogModes.NO);
    var desc1 = new ActionDescriptor();
    var ref1 = new ActionReference();
    ref1.putEnumerated(PSClass.Document, PSType.Ordinal, PSEnum.First);
    desc1.putReference(PSString.Null, ref1);
    desc1.putString(PSKey.Name, "Free Retouch Panel.jpg");
    executeAction(PSEvent.Duplicate, desc1, dialogMode);
  };

  // Select
  function step2(enabled, withDialog) {
    if (enabled != undefined && !enabled)
      return;
    var dialogMode = (withDialog ? DialogModes.ALL : DialogModes.NO);
    var desc1 = new ActionDescriptor();
    var ref1 = new ActionReference();
    ref1.putEnumerated(PSClass.MenuItem, PSType.MenuItem, PSEnum.ActualPixels);
    desc1.putReference(PSString.Null, ref1);
    executeAction(PSEvent.Select, desc1, dialogMode);
  };

  step1();      // Duplicate
  step2();      // Select
};



cTID = function(s) { return app.charIDToTypeID(s); };
sTID = function(s) { return app.stringIDToTypeID(s); };

//
// QH.loadSymbols
//   Loading up the symbol definitions like this makes it possible
//   to include several of these generated files in one master file
//   provided a prefix is specified other than the default. It also
//   skips the definitions if PSConstants has already been loaded.
//
QH.loadSymbols = function() {
  var dbgLevel = $.level;
  $.level = 0;
  try {
    PSConstants;
    return; // only if PSConstants is defined
  } catch (e) {
  } finally {
    $.level = dbgLevel;
  }
  var needDefs = true;
  $.level = 0;
  try {
    PSClass;
    needDefs = false;
  } catch (e) {
  } finally {
    $.level = dbgLevel;
  }
  if (needDefs) {
    PSClass = function() {};
    PSEnum = function() {};
    PSEvent = function() {};
    PSForm = function() {};
    PSKey = function() {};
    PSType = function() {};
    PSUnit = function() {};
    PSString = function() {};
  }

  // We may still end up duplicating some of the following definitions
  // but at least we don't redefine PSClass, etc... and wipe out others
  PSClass.Document = cTID('Dcmn');
  PSClass.MenuItem = cTID('Mn  ');
  PSEnum.ActualPixels = cTID('ActP');
  PSEnum.First = cTID('Frst');
  PSEvent.Duplicate = cTID('Dplc');
  PSEvent.Select = cTID('slct');
  PSKey.Name = cTID('Nm  ');
  PSString.Null = sTID('null');
  PSType.MenuItem = cTID('MnIt');
  PSType.Ordinal = cTID('Ordn');
};

QH.loadSymbols(); // load up our symbols



//=========================================
//                    QH.main
//=========================================
//

QH.main = function () {
  QH();
};

QH.main();

var getName2 = app.activeDocument.activeLayer.name

 var idslct = charIDToTypeID( "slct" );
    var desc704 = new ActionDescriptor();
    var idnull = charIDToTypeID( "null" );
        var ref146 = new ActionReference();
        var idDcmn = charIDToTypeID( "Dcmn" );
        ref146.putName( idDcmn, "FRP.jpg"  );
    desc704.putReference( idnull, ref146 );
    var idDocI = charIDToTypeID( "DocI" );
    desc704.putInteger( idDocI, 922 );
executeAction( idslct, desc704, DialogModes.NO );

var idCls = charIDToTypeID( "Cls " );
    var desc272 = new ActionDescriptor();
    var idDocI = charIDToTypeID( "DocI" );
    desc272.putInteger( idDocI, 628 );
    var idforceNotify = stringIDToTypeID( "forceNotify" );
    desc272.putBoolean( idforceNotify, true );
executeAction( idCls, desc272, DialogModes.NO );

 var idslct = charIDToTypeID( "slct" );
    var desc704 = new ActionDescriptor();
    var idnull = charIDToTypeID( "null" );
        var ref146 = new ActionReference();
        var idDcmn = charIDToTypeID( "Dcmn" );
        ref146.putName( idDcmn, "Free Retouch Panel.jpg" );
    desc704.putReference( idnull, ref146 );
    var idDocI = charIDToTypeID( "DocI" );
    desc704.putInteger( idDocI, 922 );
executeAction( idslct, desc704, DialogModes.NO );

//
// Generated Sat Sep 17 2016 14:56:34 GMT+0600
//

//
//==================== Fit to Screen ==============
//
function FittoScreen() {
  // Select
  function step1(enabled, withDialog) {
    if (enabled != undefined && !enabled)
      return;
    var dialogMode = (withDialog ? DialogModes.ALL : DialogModes.NO);
    var desc1 = new ActionDescriptor();
    var ref1 = new ActionReference();
    ref1.putEnumerated(PSClass.MenuItem, PSType.MenuItem, PSEnum.FitOnScreen);
    desc1.putReference(PSString.Null, ref1);
    executeAction(PSEvent.Select, desc1, dialogMode);
  };

  // Select
  function step2(enabled, withDialog) {
    if (enabled != undefined && !enabled)
      return;
    var dialogMode = (withDialog ? DialogModes.ALL : DialogModes.NO);
    var desc1 = new ActionDescriptor();
    var ref1 = new ActionReference();
    ref1.putEnumerated(PSClass.MenuItem, PSType.MenuItem, PSEnum.ZoomOut);
    desc1.putReference(PSString.Null, ref1);
    executeAction(PSEvent.Select, desc1, dialogMode);
  };

  step1();      // Select
  step2();      // Select
};



cTID = function(s) { return app.charIDToTypeID(s); };
sTID = function(s) { return app.stringIDToTypeID(s); };

//
// FittoScreen.loadSymbols
//   Loading up the symbol definitions like this makes it possible
//   to include several of these generated files in one master file
//   provided a prefix is specified other than the default. It also
//   skips the definitions if PSConstants has already been loaded.
//
FittoScreen.loadSymbols = function() {
  var dbgLevel = $.level;
  $.level = 0;
  try {
    PSConstants;
    return; // only if PSConstants is defined
  } catch (e) {
  } finally {
    $.level = dbgLevel;
  }
  var needDefs = true;
  $.level = 0;
  try {
    PSClass;
    needDefs = false;
  } catch (e) {
  } finally {
    $.level = dbgLevel;
  }
  if (needDefs) {
    PSClass = function() {};
    PSEnum = function() {};
    PSEvent = function() {};
    PSForm = function() {};
    PSKey = function() {};
    PSType = function() {};
    PSUnit = function() {};
    PSString = function() {};
  }

  // We may still end up duplicating some of the following definitions
  // but at least we don't redefine PSClass, etc... and wipe out others
  PSClass.MenuItem = cTID('Mn  ');
  PSEnum.FitOnScreen = cTID('FtOn');
  PSEnum.ZoomOut = cTID('ZmOt');
  PSEvent.Select = cTID('slct');
  PSString.Null = sTID('null');
  PSType.MenuItem = cTID('MnIt');
};

FittoScreen.loadSymbols(); // load up our symbols



//=========================================
//                    FittoScreen.main
//=========================================
//

FittoScreen.main = function () {
  FittoScreen();
};

FittoScreen.main();

// EOF

   
var iE = prompt('只需单击一下即可下载我们的免费润饰面板。', "https://adobe.ly/2kFizhl");  
var iE = prompt('如果要通过删除 快速帮助 或 喜欢图标 来清理面板。 您可以通过按住Shift键并单击图标来完成此操作。', "https://adobe.ly/2kFizhl");  
  
  
var idCls = charIDToTypeID( "Cls " );
    var desc435 = new ActionDescriptor();
    var idSvng = charIDToTypeID( "Svng" );
    var idYsN = charIDToTypeID( "YsN " );
    var idN = charIDToTypeID( "N   " );
    desc435.putEnumerated( idSvng, idYsN, idN );
    var idDocI = charIDToTypeID( "DocI" );
    desc435.putInteger( idDocI, 418 );
    var idforceNotify = stringIDToTypeID( "forceNotify" );
    desc435.putBoolean( idforceNotify, true );
executeAction( idCls, desc435, DialogModes.NO );

/*
var thisFile = new File($.fileName);  

   var idOpn = charIDToTypeID( "Opn " );
   var desc34 = new ActionDescriptor();
   var idnull = charIDToTypeID( "null" );
   desc34.putPath( idnull, new File( thisFile.path + '/Visual Map of Retouch Process.jpg' ) ); 
   executeAction( idOpn, desc34, DialogModes.NO );
    
 function Invalid() {
  // Select
  function step1(enabled, withDialog) {
    if (enabled != undefined && !enabled)
      return;
    var dialogMode = (withDialog ? DialogModes.ALL : DialogModes.NO);
    var desc1 = new ActionDescriptor();
    var ref1 = new ActionReference();
    ref1.putEnumerated(PSClass.MenuItem, PSType.MenuItem, PSEnum.FitOnScreen);
    desc1.putReference(PSString.Null, ref1);
    executeAction(PSEvent.Select, desc1, dialogMode);
  };

  step1();      // Select
};



cTID = function(s) { return app.charIDToTypeID(s); };
sTID = function(s) { return app.stringIDToTypeID(s); };

//
// Invalid.loadSymbols
//   Loading up the symbol definitions like this makes it possible
//   to include several of these generated files in one master file
//   provided a prefix is specified other than the default. It also
//   skips the definitions if PSConstants has already been loaded.
//
Invalid.loadSymbols = function() {
  var dbgLevel = $.level;
  $.level = 0;
  try {
    PSConstants;
    return; // only if PSConstants is defined
  } catch (e) {
  } finally {
    $.level = dbgLevel;
  }
  var needDefs = true;
  $.level = 0;
  try {
    PSClass;
    needDefs = false;
  } catch (e) {
  } finally {
    $.level = dbgLevel;
  }
  if (needDefs) {
    PSClass = function() {};
    PSEnum = function() {};
    PSEvent = function() {};
    PSForm = function() {};
    PSKey = function() {};
    PSType = function() {};
    PSUnit = function() {};
    PSString = function() {};
  }

  // We may still end up duplicating some of the following definitions
  // but at least we don't redefine PSClass, etc... and wipe out others
  PSClass.MenuItem = cTID('Mn  ');
  PSEnum.FitOnScreen = cTID('FtOn');
  PSEvent.Select = cTID('slct');
  PSString.Null = sTID('null');
  PSType.MenuItem = cTID('MnIt');
};

Invalid.loadSymbols(); // load up our symbols



//=========================================
//                    Invalid.main
//=========================================
//

Invalid.main = function () {
  Invalid();
};

Invalid.main();

var iE = prompt('Copy the link and paste to your browser if you want see the detailed presentation of the panel:', "https://www.behance.net/gallery/35751737/Ultimate-Retouch");    

function messageSet() {

  function step1(enabled, withDialog) {
    if (enabled != undefined && !enabled)
      return;
    var dialogMode = (withDialog ? DialogModes.ALL : DialogModes.NO);
    var desc1 = new ActionDescriptor();
    var ref1 = new ActionReference();
    ref1.putEnumerated(PSClass.MenuItem, PSType.MenuItem, PSEnum.FitOnScreen);
    desc1.putReference(PSString.Null, ref1);
    executeAction(PSEvent.Select, desc1, dialogMode);
  };

  step1();     
};

cTID = function(s) { return app.charIDToTypeID(s); };
sTID = function(s) { return app.stringIDToTypeID(s); };

messageSet.loadSymbols = function() {
  var dbgLevel = $.level;
  $.level = 0;
  try {
    PSConstants;
    return; 
  } catch (e) {
  } finally {
    $.level = dbgLevel;
  }
  var needDefs = true;
  $.level = 0;
  try {
    PSClass;
    needDefs = false;
  } catch (e) {
  } finally {
    $.level = dbgLevel;
  }
  if (needDefs) {
    PSClass = function() {};
    PSEnum = function() {};
    PSEvent = function() {};
    PSForm = function() {};
    PSKey = function() {};
    PSType = function() {};
    PSUnit = function() {};
    PSString = function() {};
  }

  PSClass.MenuItem = cTID('Mn  ');
  PSEnum.FitOnScreen = cTID('FtOn');
  PSEvent.Select = cTID('slct');
  PSString.Null = sTID('null');
  PSType.MenuItem = cTID('MnIt');
};

messageSet.loadSymbols(); 

messageSet.main = function () {
  message();
};

messageSet.main();

*/




}

    
