CINXE.COM
Hanging the Devil (Cape Weathers Investigation, book 5) by Tim Maleeny
<!DOCTYPE html> <html class="dark prog ads" lang="en"> <head> <meta charset="utf-8"> <script>if(window.top != window.self) top.location.href = document.location.href;var noads;(function(h, c){if (c.indexOf('no-prog=yes') != -1) h.className=h.className.replace('prog','no-prog');if (c.indexOf('style=light') != -1) h.className=h.className.replace('dark','light');if (c.indexOf('no-ads=yes') != -1) {noads=true;h.className=h.className.replace('ads','no-ads');}})(document.documentElement, document.cookie);</script> <base href="https://www.fantasticfiction.com/"> <title>Hanging the Devil (Cape Weathers Investigation, book 5) by Tim Maleeny</title> <meta name="viewport" content="width=device-width, initial-scale=1"> <meta name="description" content="Hanging the Devil (Cape Weathers Investigation, book 5) by Tim Maleeny - book cover, description."> <meta name="author" content="webmaster@fantasticfiction.com - https://www.fantasticfiction.com"> <link rel="canonical" href="https://www.fantasticfiction.com/m/tim-maleeny/hanging-the-devil.htm"> <link rel="preconnect" href="https://m.media-amazon.com"> <link rel="dns-prefetch" href="https://m.media-amazon.com"> <link href="/scripts/css/ff.006.min.css" rel="stylesheet"> <!--ad-head--> <!-- Quantcast Choice. Consent Manager Tag v2.0 (for TCF 2.0) --> <script type="text/javascript" async=true> (function() { var host = window.location.hostname; var element = document.createElement('script'); var firstScript = document.getElementsByTagName('script')[0]; var url = 'https://quantcast.mgr.consensu.org' .concat('/choice/', 'feqxAlANww_sI', '/', host, '/choice.js') var uspTries = 0; var uspTriesLimit = 3; element.async = true; element.type = 'text/javascript'; element.src = url; firstScript.parentNode.insertBefore(element, firstScript); function makeStub() { var TCF_LOCATOR_NAME = '__tcfapiLocator'; var queue = []; var win = window; var cmpFrame; function addFrame() { var doc = win.document; var otherCMP = !!(win.frames[TCF_LOCATOR_NAME]); if (!otherCMP) { if (doc.body) { var iframe = doc.createElement('iframe'); iframe.style.cssText = 'display:none'; iframe.name = TCF_LOCATOR_NAME; doc.body.appendChild(iframe); } else { setTimeout(addFrame, 5); } } return !otherCMP; } function tcfAPIHandler() { var gdprApplies; var args = arguments; if (!args.length) { return queue; } else if (args[0] === 'setGdprApplies') { if ( args.length > 3 && args[2] === 2 && typeof args[3] === 'boolean' ) { gdprApplies = args[3]; if (typeof args[2] === 'function') { args[2]('set', true); } } } else if (args[0] === 'ping') { var retr = { gdprApplies: gdprApplies, cmpLoaded: false, cmpStatus: 'stub' }; if (typeof args[2] === 'function') { args[2](retr); } } else { queue.push(args); } } function postMessageEventHandler(event) { var msgIsString = typeof event.data === 'string'; var json = {}; try { if (msgIsString) { json = JSON.parse(event.data); } else { json = event.data; } } catch (ignore) {} var payload = json.__tcfapiCall; if (payload) { window.__tcfapi( payload.command, payload.version, function(retValue, success) { var returnMsg = { __tcfapiReturn: { returnValue: retValue, success: success, callId: payload.callId } }; if (msgIsString) { returnMsg = JSON.stringify(returnMsg); } event.source.postMessage(returnMsg, '*'); }, payload.parameter ); } } while (win) { try { if (win.frames[TCF_LOCATOR_NAME]) { cmpFrame = win; break; } } catch (ignore) {} if (win === window.top) { break; } win = win.parent; } if (!cmpFrame) { addFrame(); win.__tcfapi = tcfAPIHandler; win.addEventListener('message', postMessageEventHandler, false); } }; makeStub(); var uspStubFunction = function() { var arg = arguments; if (typeof window.__uspapi !== uspStubFunction) { setTimeout(function() { if (typeof window.__uspapi !== 'undefined') { window.__uspapi.apply(window.__uspapi, arg); } }, 500); } }; var checkIfUspIsReady = function() { uspTries++; if (window.__uspapi === uspStubFunction && uspTries < uspTriesLimit) { console.warn('USP is not accessible'); } else { clearInterval(uspInterval); } }; if (typeof window.__uspapi === 'undefined') { window.__uspapi = uspStubFunction; var uspInterval = setInterval(checkIfUspIsReady, 6000); } })(); </script> <!-- End Quantcast Choice. Consent Manager Tag v2.0 (for TCF 2.0) --> <script> var googletag = googletag || {}; googletag.cmd = googletag.cmd || []; (function() { if (noads) return; var gads = document.createElement('script'); gads.async = true; gads.type = 'text/javascript'; var useSSL = 'https:' == document.location.protocol; gads.src = (useSSL ? 'https:' : 'http:') + '//www.googletagservices.com/tag/js/gpt.js'; var node = document.getElementsByTagName('script')[0]; node.parentNode.insertBefore(gads, node); })(); </script> <script> (function () { if (noads) return; googletag.cmd.push(function() { var mapping = googletag.sizeMapping(). addSize([728, 200], [728, 90]). addSize([468, 200], [468, 60]). addSize([0, 0], [320, 50]). build(); window.topad = googletag.defineSlot('/34217560/top-multi-noadsense', [[468, 60], [728, 90], [320, 50]], 'div-gpt-ad-1561798237707-0'). defineSizeMapping(mapping). addService(googletag.pubads()); googletag.pubads().disableInitialLoad(); googletag.pubads().enableSingleRequest(); googletag.enableServices(); }); googletag.cmd.push(function() { var mapping = googletag.sizeMapping(). addSize([728, 200], [728, 90]). addSize([468, 200], [468, 60]). addSize([0, 0], [320, 50]). build(); window.bottomad = googletag.defineSlot('/34217560/bottom-multi-noadsense', [[728, 90], [320, 50], [468, 60]], 'div-gpt-ad-1561798315429-0'). defineSizeMapping(mapping). addService(googletag.pubads()); googletag.pubads().disableInitialLoad(); googletag.pubads().enableSingleRequest(); googletag.enableServices(); }); }()); </script> <script> (function () { if (noads) return; //load the apstag.js library !function(a9,a,p,s,t,A,g){if(a[a9])return;function q(c,r){a[a9]._Q.push([c,r])}a[a9]={init:function(){q("i",arguments)},fetchBids:function(){q("f",arguments)},setDisplayBids:function(){},targetingKeys:function(){return[]},_Q:[]};A=p.createElement(s);A.async=!0;A.src=t;g=p.getElementsByTagName(s)[0];g.parentNode.insertBefore(A,g)}("apstag",window,document,"script","//c.amazon-adsystem.com/aax2/apstag.js"); //initialize the apstag.js library on the page to allow bidding apstag.init({ pubID: 'b1925f5f-7c03-40ff-875b-4dbac5c89ac6', adServer: 'googletag' }); apstag.fetchBids({ slots: [{ slotID: 'div-gpt-ad-1561798237707-0', slotName: '/34217560/top-multi-noadsense', sizes: [[468, 60], [728, 90], [320, 50]] }, { slotID: 'div-gpt-ad-1561798315429-0', slotName: '/34217560/bottom-multi-noadsense', sizes: [[728, 90], [320, 50], [468, 60]] }], timeout: 2e3 }, function(bids) { // set apstag targeting on googletag, then trigger the first DFP request in googletag's disableInitialLoad integration googletag.cmd.push(function(){ apstag.setDisplayBids(); googletag.pubads().refresh(); }); }); }()); </script> <!--/ad-head--> </head> <body> <div id ="mainframe" class="main" itemscope itemtype="http://schema.org/Book"> <!--topbar--> <div class="fftop"> <div class="navbar"> <ol class="navbar" itemscope itemtype="https://schema.org/BreadcrumbList"><li class="navbar" itemprop="itemListElement" itemscope itemtype="https://schema.org/ListItem"><a itemprop="item" href="/"><span itemprop="name">Home</span></a> > <meta itemprop="position" content="1"></li><li class="navbar" itemprop="itemListElement" itemscope itemtype="https://schema.org/ListItem"><a itemprop="item" href="/m/tim-maleeny/"><span itemprop="name">Tim Maleeny</span></a> > <meta itemprop="position" content="2"></li><li class="navbar" itemprop="itemListElement" itemscope itemtype="https://schema.org/ListItem"><span itemprop="name">Hanging the Devil</span><meta itemprop="position" content="3"></li></ol> <span id="editLink"></span> </div> <div id="ffuser" class="ffuser"> </div> <div class="spacer"></div> </div> <!--/topbar--> <!--header--> <div class="ff"> <div class="logo"> <a href="/"><img alt="Fantastic Fiction" src="https://static.fantasticfiction.com/img/fflogo.png" width="250" height="25"></a> </div> <div class="search"> <form action="/search/"><span class="searchtxt">Search for </span><select class="searchselect" name="searchfor" onchange="this.form.keywords.focus();"><option selected="selected" value="author">Author</option><option value="book">Book</option><option value="series">Series</option></select> <input class="searchinput" type="text" name="keywords" maxlength="60" required> <input type="submit" value="Find"></form> </div> <div class="spacer"></div> <!--/header--> <!--menu--> <div class="menu"><ul id="menu-list" class="menu-ul"><li class="menu-li"><a id="menuitem1" class="menu-a" href=""> </a></li></ul></div> <div id="allgenres" class="ff"></div> <div class="spacer"></div> <!--/menu--> <!--ff-top-ad--> <div class="ad-banner-top"> <!-- /34217560/top-multi-noadsense --> <div id='div-gpt-ad-1561798237707-0'> <script> if (!noads) googletag.cmd.push(function() { googletag.display('div-gpt-ad-1561798237707-0'); }); </script> </div> </div> <!--/ff-top-ad--> <div style="height:500px;" class="ff"> <div class="nbpb"><span class="pb"><a href="/m/tim-maleeny/boxing-the-octopus.htm"> << Previous book</a></span><span class="nb"></span></div><div class="spacer"></div> <div id="bookimage"> <img class="bookimage" alt="book cover of Hanging the Devil" src="/img/_.png" data-US="51odkLJffyL._SL500_.jpg" width="316" height="480" > <br><div style="font-size:small;color:gray;padding-bottom:4px;" title="The number of members that have added this book to their lists, updated daily">Added by 1 member</div> <div style="margin:auto;max-width:360px;"><div style="float:left;" id="wish-list"></div><div style="float:right;" id="my-books"></div></div> <div class="spacer"> </div> </div> <div class="bookheading"><h1 itemprop="name" id="booktitle_1">Hanging the Devil</h1> <span class="year">(2023)</span><br>(The fifth book in the <a href="/m/tim-maleeny/cape-weathers-investigation/">Cape Weathers Investigation</a> series)<br>A novel by <span itemscope itemprop="author" itemtype="http://schema.org/Person"><span style="font-size:120%;" itemprop="name"><a href="/m/tim-maleeny/">Tim Maleeny</a></span></span></div> <br> <div id="book-shop"></div> <div class="spacer"> </div> </div> <div class="spacer"> </div> <div class="blurb"> <span class="a-text-bold">"A caper stuffed with comedy and crime...equal parts adrenaline and heart. A completely delightful read." —Gregg Hurwitz, </span><span class="a-text-bold a-text-italic">New York Times</span><span class="a-text-bold"> bestselling author </span><br/><br/><span class="a-text-bold">"Smart, sassy, and sizzling with action." —Deborah Crombie, </span><span class="a-text-bold a-text-italic">New York Times </span><span class="a-text-bold">bestselling author </span><br/><br/><span class="a-text-italic">It was supposed to be a simple job: steal the paintings, leave the forgeries...</span><br/><br/><span>When a helicopter crashes through the skylight of the Asian Art Museum, an audacious heist turns into a tragedy. The only witness to the crash is eleven-year-old Grace, who watches in horror as her uncle is killed and a priceless statue stolen by two men and a—ghost? At least that's how the eerie, smoke-like figure with parchment skin and floating hair appears to Grace. Scared almost to death, she flees into the night and seeks refuge in the back alleys of San Francisco's Chinatown.</span><br/><br/><span>Grace is found by Sally Mei, self-appointed guardian of Chinatown. While Sally trains Grace in basic survival skills, her erstwhile partner Cape Weathers, private detective and public nuisance, searches for the mysterious crew behind the robbery before they strike the museum a second time. As the clock winds down, Cape enlists aid from some unlikely allies to lay a trap for a ghost who has no intention of being caught—nor of leaving any witnesses alive to tell the tale.</span><br/><br/><br> <span style="float:right" id="preview"></span> <br><br>Genre: <a class="ameritxt" href="/genres/?gp=M">Mystery</a><br> </div> <br> <div class="sectionhead">Visitors also looked at these books</div><br><div class="similarbook"><a href="/g/greg-f-gifune/dangerous-boys.htm"><img alt="cover of Dangerous Boys" src="/img/_.png" data-US="416KAatxe-L._SL500_.jpg" data-GB="416KAatxe-L._SL500_.jpg" data-CA="416KAatxe-L._SL500_.jpg" data-AU="416KAatxe-L._SL500_.jpg" width="120" height="185"></a><br><a href="/g/greg-f-gifune/dangerous-boys.htm">Dangerous Boys</a><br><a href="/g/greg-f-gifune/">Greg F Gifune</a></div><div class="similarbook"><a href="/m/danny-miller/gilded-edge.htm"><img alt="cover of The Gilded Edge" src="/img/_.png" data-US="51IHS8euMuL._SL500_.jpg" data-GB="51Z0sgppFUL._SL500_.jpg" data-CA="51Z0sgppFUL._SL500_.jpg" data-AU="51Z0sgppFUL._SL500_.jpg" width="120" height="185"></a><br><a href="/m/danny-miller/gilded-edge.htm">The Gilded Edge</a><br>(<span class="iseries"><a href="/m/danny-miller/vince-treadwell/">Vince Treadwell</a>, book 2</span>)<br><a href="/m/danny-miller/">Danny Miller</a></div><div class="similarbook"><a href="/h/donald-harstad/eleven-days.htm"><img alt="cover of Eleven Days" src="/img/_.png" data-US="51MK8pWlj6L._SL500_.jpg" data-GB="314VLY6lXfL._SL500_.jpg" data-CA="51MK8pWlj6L._SL500_.jpg" data-AU="51MK8pWlj6L._SL500_.jpg" width="120" height="185"></a><br><a href="/h/donald-harstad/eleven-days.htm">Eleven Days</a><br>(<span class="iseries"><a href="/h/donald-harstad/carl-houseman/">Carl Houseman</a>, book 1</span>)<br><a href="/h/donald-harstad/">Donald Harstad</a></div><div class="similarbook"><a href="/h/glen-erik-hamilton/past-crimes.htm"><img alt="cover of Past Crimes" src="/img/_.png" data-US="51jyODiriUL._SL500_.jpg" data-GB="41I7a4VW01L._SL500_.jpg" data-CA="51jyODiriUL._SL500_.jpg" data-AU="41I7a4VW01L._SL500_.jpg" width="120" height="185"></a><br><a href="/h/glen-erik-hamilton/past-crimes.htm">Past Crimes</a><br>(<span class="iseries"><a href="/h/glen-erik-hamilton/van-shaw-mystery/">Van Shaw Mystery</a>, book 1</span>)<br><a href="/h/glen-erik-hamilton/">Glen Erik Hamilton</a></div><div class="spacer"></div><br> <div id="usedsection" class="sectionhead">Used availability for Tim Maleeny's Hanging the Devil</div> <iframe id="abeframe" style="visibility:hidden;" width="710" height="0" src="about:blank" data-src="/frames/abe.001.htm"></iframe> <br> <div id="genre-list"></div> <!--ff-bottom-ad--> <div class="ad-banner-bottom"> <!-- /34217560/bottom-multi-adsense --> <div id='div-gpt-ad-1561798315429-0'> <script> if (!noads) googletag.cmd.push(function() { googletag.display('div-gpt-ad-1561798315429-0'); }); </script> </div> </div> <!--/ff-bottom-ad--> <!--footer--> <br> <div class="search"> <form action="/search/"><span class="searchtxt">Search for </span><select class="searchselect" name="searchfor" onchange="this.form.keywords.focus();"><option selected="selected" value="author">Author</option><option value="book">Book</option><option value="series">Series</option></select> <input class="searchinput" type="text" name="keywords" maxlength="60" required> <input type="submit" value="Find"></form> </div> <a href="/about.htm">About Fantastic Fiction</a> <a href="/information-for-authors.htm">Information for Authors</a> <br> <div class="footer"> <a href="/privacy.htm">Privacy Policy</a> <a href="/cookie-policy.htm">Cookie Policy</a> <a href="/terms.htm">Terms</a> <a href="/affiliate-disclosure.htm">Affiliate disclosure</a> <a href="/preferences.htm">Preferences</a> <br> Questions? Comments? Corrections? Please email <a href="mailto:webmaster@fantasticfiction.com">webmaster@fantasticfiction.com</a> <br> © 1999 - <span id="copy-year"></span> Fantastic Fiction <button onclick="scrolltotop()" id="scrolltotopBtn" title="Go to top">Top</button> </div> <!--/footer--> </div> </div> <!--scripts--> <script> ffPageType = 'book'; dwPageType = 'B'; dwBookID = 'w1103082'; dwPageID = 'ba28527_w1103082'; dwAuthorName = "Tim Maleeny"; dwBookTitle = "Hanging the Devil"; dwUKisbns = "6E84DB83E4D0E8A5F4B7C163CC525B9F777DC76DDE39F7119C9462A5DCDC87FF"; dwUSisbns = "6E84DB83E4D0E8A5F4B7C163CC525B9F777DC76DDE39F7119C9462A5DCDC87FF"; dwCAisbns = "6E84DB83E4D0E8A5F4B7C163CC525B9F777DC76DDE39F7119C9462A5DCDC87FF"; dwAUisbns = "6E84DB83E4D0E8A5F4B7C163CC525B9F777DC76DDE39F7119C9462A5DCDC87FF"; dwUKisbnImgs = ",y,,y"; dwUSisbnImgs = ",y,,y"; dwCAisbnImgs = ",y,,y"; dwAUisbnImgs = ",y,,y"; var ff = { bookpage: true, pageid: 'w1103082', authorbookid : 'm28527_1103082', popContent: function () { ff.loadScript('/scripts/js/show-bookshop.004.min.js'); } }; </script> <script id="ffscript" src="/scripts/js/ff.009.min.js" async></script> <!--/scripts--> <!--analytics--> <!--/analytics--> </body></html>