Computerworld» PCWorld» Ostatní»Freeware: My Lockbox chrání vaše data
Martin Buchta
11.12.2011
Autor: © Sashkin - Fotolia.com
Sdílíte počítač s více uživateli a rádi byste zaheslovali své složky?
Pokud chcete ve vašem počítači skrýt a zaheslovat vybrané složky, vyzkoušejte aplikaci My Lockbox. Při prvním spuštění aplikace si nastavíte hlavní heslo, které budete využívat pro přístup do vašich složek. Následně si v rozhraní vyberete složky na FAT, FAT32 nebo NTFS oddílech, do nichž chcete zablokovat přístup ostatním uživatelům. Takto zaheslovaná složka zmizí zPrůzkumníku a přístup kní lze získat jedině skrze My Lockbox. Vnastavení lze měnit kromě vzhledu také oznámení při přístupu do zaheslované složky, a to včetně integrace do kontextového menu, klávesové zkratky apod. Kdispozici je rovněž placená verze, ve které se nejen nezobrazují otravné bannery, ale hlavně není omezen počet složek, které lze zaheslovat.
• Verze: 2.7
• Typ: zaheslování složek
• Systém: Windows XP / Vista / 7
• Velikost: 2,7 MB
• Licence: Freeware
• Cena: Zdarma
• Čeština: Ne
• Domovská stránka: FSPro Labs
Autor se již od útlého dětství věnuje IT a je autorem mnoha lokalizací softwaru do češtiny. Ve volných chvílích píše Buchtič blog převážně o IT a herním průmyslu.
- Našli jste v článku chybu?
Byl pro vás článek přínosný?
Autor článku
Martin Buchta
Témata:
- download
- freeware
- heslo
- ochrana dat
- složka
- zdarma
`;if (youtubeIframe !== null && vastUrls.length > 0) {const re = /embed\/(.*)\?/;const youtubeId = youtubeIframe.src.match(re)[1];const youtubeImg = 'https://img.youtube.com/vi/' + youtubeId + '/hqdefault.jpg';let thumbWrap = `
`;thumbWrap += ``thumbWrap +=`
`;youtubeIframe.after(document.createRange().createContextualFragment(thumbWrap));youtubeIframe.style.display = 'none';const youtubeThumb = document.getElementById('ytPrerollThumb')let prerollAdInitialized = false;document.addEventListener('DOMContentLoaded', handleInitScroll, false);window.addEventListener('scroll', handleInitScroll, false);function handleInitScroll() {if (prerollAdInitialized === false) {const containerOffset = document.getElementById('ytPrerollThumb').getBoundingClientRect();const windowHeight = window.innerHeight;if (containerOffset.top < windowHeight / 1 && containerOffset.bottom > 0.0) {prerollAdInitialized = true;console.log ('Preroll: INIT');let script = document.createElement('script');script.src = '//imasdk.googleapis.com/js/sdkloader/ima3.js';document.head.appendChild(script);script.addEventListener('load', function () {setTimeout(() => {youtubeThumb.remove();playPrerollAd();}, 2000);});document.removeEventListener('DOMContentLoaded', handleInitScroll, false);window.removeEventListener('scroll', handleInitScroll, false);}}}}function playPrerollAd() {youtubeIframe.after(document.createRange().createContextualFragment(videoEl));let adsManager;let adsLoader;let adDisplayContainer;let iinfoPrerollPosition = document.getElementById('iinfoPrerollPosition');let videoContent = document.getElementById('iinfo_youtube_preroll');let vastUrlIndex = 0;let playedAdCounter = 0;let adMuteBtn = document.getElementById('adMuteBtn');let adVolume = 0;let prerollWidth = 480;let prerollHeight = 320;setUpIMA();adMuteBtn.addEventListener('click', function () {unmuteAdvert();});function setupDimensions() {prerollWidth = Math.min(iinfoPrerollPosition.offsetWidth, 480);prerollHeight = Math.min(iinfoPrerollPosition.offsetHeight, 320);}function setUpIMA() {google.ima.settings.setDisableCustomPlaybackForIOS10Plus(true);// Create the ad display container.createAdDisplayContainer();// Create ads loader.adsLoader = new google.ima.AdsLoader(adDisplayContainer);// Listen and respond to ads loaded and error events.adsLoader.addEventListener(google.ima.AdsManagerLoadedEvent.Type.ADS_MANAGER_LOADED,onAdsManagerLoaded, false);adsLoader.addEventListener(google.ima.AdErrorEvent.Type.AD_ERROR, onAdError, false);// An event listener to tell the SDK that our content video// is completed so the SDK can play any post-roll ads.const contentEndedListener = function() {adsLoader.contentComplete();};videoContent.onended = contentEndedListener;// Request video ads.const adsRequest = new google.ima.AdsRequest();/*adsRequest.adTagUrl = 'https://pubads.g.doubleclick.net/gampad/ads?' +'iu=/21775744923/external/single_preroll_skippable&sz=640x480&' +'ciu_szs=300x250%2C728x90&gdfp_req=1&' +'output=vast&unviewed_position_start=1&env=vp&impl=s&correlator=';*/adsRequest.adTagUrl = vastUrls[vastUrlIndex];console.log('Preroll first advert: ' + vastUrls[vastUrlIndex]);// Specify the linear and nonlinear slot sizes. This helps the SDK to// select the correct creative if multiple are returned.adsRequest.linearAdSlotWidth = prerollWidth;adsRequest.linearAdSlotHeight = prerollHeight;adsRequest.nonLinearAdSlotWidth = 0;adsRequest.nonLinearAdSlotHeight = 0;adsLoader.requestAds(adsRequest);}function createAdDisplayContainer() {// We assume the adContainer is the DOM id of the element that will house// the ads.document.getElementById('iinfo_youtube_preroll').style.display = 'none';adDisplayContainer = new google.ima.AdDisplayContainer(document.getElementById('adContainer'), videoContent);}function unmuteAdvert() {adVolume = !adVolume;if (adVolume) {adsManager.setVolume(0.3);adMuteBtn.innerHTML = '
';} else {adsManager.setVolume(0);adMuteBtn.innerHTML = '
';}}function onAdsManagerLoaded(adsManagerLoadedEvent) {// Get the ads manager.const adsRenderingSettings = new google.ima.AdsRenderingSettings();adsRenderingSettings.restoreCustomPlaybackStateOnAdBreakComplete = true;adsRenderingSettings.loadVideoTimeout = 12000;// videoContent should be set to the content video element.adsManager =adsManagerLoadedEvent.getAdsManager(videoContent, adsRenderingSettings);// Add listeners to the required events.adsManager.addEventListener(google.ima.AdErrorEvent.Type.AD_ERROR, onAdError);adsManager.addEventListener(google.ima.AdEvent.Type.CONTENT_PAUSE_REQUESTED, onContentPauseRequested);adsManager.addEventListener(google.ima.AdEvent.Type.CONTENT_RESUME_REQUESTED,onContentResumeRequested);adsManager.addEventListener(google.ima.AdEvent.Type.ALL_ADS_COMPLETED, onAdEvent);// Listen to any additional events, if necessary.adsManager.addEventListener(google.ima.AdEvent.Type.LOADED, onAdEvent);adsManager.addEventListener(google.ima.AdEvent.Type.STARTED, onAdEvent);adsManager.addEventListener(google.ima.AdEvent.Type.COMPLETE, onAdEvent);playAds();}function playAds() {// Initialize the container. Must be done through a user action on mobile// devices.videoContent.load();adDisplayContainer.initialize();setupDimensions();try {// Initialize the ads manager. Ad rules playlist will start at this time.adsManager.init(prerollWidth, prerollHeight, google.ima.ViewMode.NORMAL);// Call play to start showing the ad. Single video and overlay ads will// start at this time; the call will be ignored for ad rules.adsManager.start();window.addEventListener('resize', function (event) {if (adsManager) {setupDimensions();adsManager.resize(prerollWidth, prerollHeight, google.ima.ViewMode.NORMAL);}});} catch (adError) {// An error may be thrown if there was a problem with the VAST response.videoContent.play();}}function onAdEvent(adEvent) {const ad = adEvent.getAd();console.log('Preroll event: ' + adEvent.type);switch (adEvent.type) {case google.ima.AdEvent.Type.LOADED:if (!ad.isLinear()) {videoContent.play();}break;case google.ima.AdEvent.Type.STARTED:if (ad.isLinear()) {intervalTimer = setInterval(function() {// Example: const remainingTime = adsManager.getRemainingTime();// adsManager.pause();},300); // every 300ms}adMuteBtn.style.display = 'block';break;case google.ima.AdEvent.Type.ALL_ADS_COMPLETED:if (ad.isLinear()) {clearInterval(intervalTimer);}if (!loadNext()) {playYtVideo();}break;case google.ima.AdEvent.Type.COMPLETE:if (ad.isLinear()) {clearInterval(intervalTimer);}if (!loadNext()) {playedAdCounter++;playYtVideo();}break;}}function onAdError(adErrorEvent) {console.log(adErrorEvent.getError());if (!loadNext()) {playYtVideo();}}function loadNext() {vastUrlIndex++;adVolume = 0;if (playedAdCounter >=2) {return false;}else if (vastUrls.length > vastUrlIndex) {// Request video ads.const adsRequest = new google.ima.AdsRequest();adsRequest.adTagUrl = vastUrls[vastUrlIndex];console.log('Preroll next advert: ' + vastUrls[vastUrlIndex]);// Specify the linear and nonlinear slot sizes. This helps the SDK to// select the correct creative if multiple are returned.adsRequest.linearAdSlotWidth = prerollWidth;adsRequest.linearAdSlotHeight = prerollHeight;adsRequest.nonLinearAdSlotWidth = 0;adsRequest.nonLinearAdSlotHeight = 0;adsLoader.requestAds(adsRequest);return true;} else {return false;}}function onContentPauseRequested() {videoContent.pause();}function onContentResumeRequested() {videoContent.play();}function playYtVideo() {iinfoPrerollPosition.remove();youtubeIframe.style.display = 'block';youtubeIframe.src += '&autoplay=1&mute=1';}}